UVA 572 - Oil Deposits(DFS)
2013-02-28 07:48
447 查看
用DFS把相邻的@字符标记掉,并统计块的个数就好了。
#include <stdio.h> int m, n; char map[105][105]; int dir[8][2] = {-1, -1, -1, 0, -1, 1, 0, -1, // 定义8个方向数组 0, 1, 1, -1, 1, 0, 1, 1}; void dfs(int x, int y) { map[x][y] = '*'; for (int i=0; i<8; i++) { int xx = x + dir[i][0]; int yy = y + dir[i][1]; if (xx<1 || xx>m) continue; if (yy<1 || yy>n) continue; if ('*' == map[xx][yy]) continue; dfs(xx, yy); } } int main() { while (scanf("%d%d", &m, &n)) { if (0==m && 0==n) break; for (int i=1; i<=m; i++) scanf("%s", map[i]+1); int nCount = 0; for (int i=1; i<=m; i++) for (int j=1; j<=n; j++) if ('@' == map[i][j]) { dfs(i, j); nCount++; } printf("%d\n", nCount); } return 0; }
相关文章推荐
- uva572--oil deposits--dfs算法
- UVa - 572 Oil Deposits ( DFS求连通块 )
- UVa - 572 - Oil Deposits(dfs求连通块)
- UVA 572 Oil Deposits(DFS)
- Uva572-poj-1562-hdoj--1241--oil Deposits-DFS
- UVA572(Oil Deposits)(DFS)
- uva 572 Oil Deposits(DFS遍历图)
- [uva-572]Oil Deposits (BFS和DFS两种
- Uva 572 - Oil Deposits(DFS)
- UVA - 572 Oil Deposits(DFS)
- UVa 572 Oil Deposits(DFS)
- 经典第六章 例题 6-12 UVA 572 Oil Deposits(用DFS求连通块)
- 例题6-12 UVa572 Oil Deposits(DFS)
- UVa 572 Oil Deposits(DFS)
- UVA 572 Oil Deposits(DFS)
- UVA572 Oil Deposits dfs
- UVa 572 - Oil Deposits【图DFS】
- HDU 1241/UVa572 Oil Deposits(DFS&BFS)
- UVa 572 Oil Deposits(DFS)
- UVa572 Oil Deposits(DFS)