ACM-POJ 1562 DFS 深度优先搜索
2012-10-05 01:27
483 查看
这里说一下这道题的唯一陷阱就是在输入的时候测试数据 m n后面是有空格的,如果你是用%c读入的话会直接读空格。
#include <iostream> #include <cstdio> using namespace std; int m, n; char map[100][100]; int move[8][2] = { {-1, -1}, {-1, 0}, {-1, 1}, {0, -1}, {0, 1}, {1, -1}, {1, 0}, {1, 1} }; void DFS(int si, int sj) { int i(0); if (si >= m|| sj >= n || si < 0 ||sj < 0) return ; for (i = 0; i != 8; ++i) { int mi = si + move[i][0]; int mj = sj + move[i][1]; if (map[mi][mj] == '@') { map[mi][mj] = '*'; DFS(mi, mj); } } return ; } int main() { while (scanf("%d%d", &m, &n), m) { getchar(); int i(0), j(0); for ( i = 0; i < m; ++i) scanf("%s", map[i]); int answer(0); for (i = 0; i != m; ++i) for (j = 0; j != n; ++j) if (map[i][j] == '@') { map[i][j] = '*'; DFS(i, j); ++answer; } printf("%d\n", answer); } }
相关文章推荐
- 深度优先搜索dfs(poj 1655)
- POJ1562 - Oil Deposits - 深度优先搜索
- POJ-2488 A Knights Journey-深度优先搜索DFS
- poj1312 dfs 深度优先搜索
- POJ-1979 深度优先搜索DFS
- poj1088 滑雪 dp记忆化搜索 dfs深度优先搜索
- ACM-ZOJ 2412 DFS 深度优先搜索
- poj3009之深度优先搜索 dfs解法
- POJ1321,深度优先搜索
- 深度优先搜索DFS
- 深度优先搜索Depth-first search (DFS) for undirected graphs
- 【数据结构_图_DFS_1068】深度优先搜索
- DFS深度优先搜索之lake counting
- 算法 DFS深度优先搜索
- leetcode 45. Jump Game II 贪心算法&&DFS深度优先搜索
- DFS深度优先搜索案例:马戏团叠罗汉
- NYOJ1058+NYOJ1282 部分和问题(深度优先搜索DFS入门题)
- nyoj 部分和问题(深度优先搜索DFS)
- 挑战第二章习题 POJ 1974 深度优先搜索
- 图深度优先搜索DFS