poj1573(简单的dfs)
2011-08-18 09:23
399 查看
题目:http://poj.org/problem?id=1573
代码:
#include<stdio.h> char gird[11][11]; int n,m,k,flag,flag1,num,num1; void dfs(int row,int col) { if(row<0||row==n||col<0||col==m) { flag=1; return; } if(gird[row][col]==1) { flag=0; gird[row][col]=0; return ; } num++; if(gird[row][col]-'N'==0){gird[row][col]=1;dfs(row-1,col);} else if(gird[row][col]-'S'==0) {gird[row][col]=1;dfs(row+1,col);} else if(gird[row][col]-'E'==0){gird[row][col]=1;dfs(row,col+1);} else if(gird[row][col]-'W'==0){gird[row][col]=1;dfs(row,col-1);} if(gird[row][col]==0)flag1=1; if(flag1) num1++; return; } void main() { while((scanf("%d%d%d",&n,&m,&k)!=EOF)&&(n!=0&&m!=0&&k!=0)) { int i; for(i=0;i<n;i++) scanf("%s",gird[i]); num=0; num1=0; flag1=0; dfs(0,k-1); if(flag) printf("%d step(s) to exit\n",num); else printf("%d step(s) before a loop of %d step(s)\n",num1-1,num-num1+1); } }
相关文章推荐
- poj 1562 Oil Deposits 简单dfs
- poj 1469 COURSES(简单)(二部图匹配 DFS)
- POJ 1111 Image Perimeters 简单DFS
- HDOJ 1312 Red and Black (简单dfs)
- HDU1181变形课 (简单深搜dfs)
- poj—简单dfs输入坑
- hdu Prime Ring Problem (java 简单DFS)
- Sudoku Killer(简单的DFS )
- 简单dfs模板
- HDU - 2181 哈密顿绕行世界问题(简单dfs)
- LeetCode Generate Parentheses 构造括号串(DFS简单题)
- Codeforces Round 306 B Preparing Olympiad(简单dfs)
- 勘探油田(简单的程序设计)图的深度优先和广度优先算法(DFS递归)
- UVA 572- Oil Deposits(简单dfs)
- UVA 572 - Oil Deposits(简单DFS)
- HDU 2181哈密顿绕行世界问题 (简单DFS)
- POJ1979 Red and Black (简单DFS)
- Codeforces Round #267 (Div. 2)D(DFS+单词hash+简单DP)
- DFS解决任意组合原来这样简单
- sdut 2449走迷宫【最简单的dfs应用】