uva 572 简单的深搜
2013-08-02 15:07
295 查看
#include <iostream> #include <cstdio> #include <cstring> using namespace std; const int MAXN = 110; char map[MAXN][MAXN]; int dir[8][2]={ {-1, -1},{-1, 0},{-1, 1},{0, 1},{1, 1},{1, 0},{1, -1},{0, -1} }; int n,m; void dfs(int x,int y) { map[x][y] = '*'; for (int i = 0 ; i < 8 ; i++) { int nx = x + dir[i][0]; int ny = y + dir[i][1]; if ( nx < 1 || nx > n || ny < 1 || ny > m ) continue ; if (map[nx][ny] == '*' ) continue ; dfs(nx,ny); } } int main() { while (scanf("%d%d",&n,&m) != EOF ) { if(m == 0 && n == 0 ) break; getchar(); for (int i = 1 ; i <= n ; i++) scanf("%s",map[i]+1); //起初挨个字符读,忘了会把行末的回车读到,还有我们是从第一列开始读的,所以+1 int count = 0 ; for (int i = 1 ; i <= n ; i++) for (int j = 1 ; j <= m ; j++) { if (map[i][j] == '@') { dfs(i,j); count++; } } printf("%d\n",count); } return 0; }
相关文章推荐
- UVa 572 - Oil Deposits (简单dfs)
- Oil Deposits - UVa 572 简单搜索
- UVA 572- Oil Deposits(简单dfs)
- UVA 572 - Oil Deposits(简单DFS)
- UVA572(油田)简单的深搜问题
- UVA 572(简单的dfs)
- UVa 572 - Oil Deposits (简单dfs)
- 暴力求解——UVA 572(简单的dfs)
- UVA 10719 Quotient Polynomial 简单题
- UVA - 1346 Songs 简单贪心
- UVA 11892 - ENimEN (简单博弈)
- UVA 299 Train Swapping 列车交换 冒泡排序简单模拟
- uva10474 简单排序查找 一次AC
- uva 572
- 习题7-2 UVA - 225 Golygons (简单的暴力回溯法+剪枝)
- uva 10029 简单DP
- uva572
- DFS求连通块 UVa 572 Oil Deposits
- UVA 1586 分子量(简单模拟计算)
- 简单dfs:UVA 260 Il Gioco dell'X