#include <iostream> //NYOJ水池数目 |
using namespace std; |
int map[101][101]; |
int i, j, n, m; |
void dfs( int i, int j) |
{ |
if (map[i-1][j]==1) |
{ |
map[i-1][j]=0; |
dfs(i-1, j); |
} |
if (map[i+1][j]==1) |
{ |
map[i+1][j] = 0; |
dfs(i+1, j); |
} |
if (map[i][j-1]==1) |
{ |
map[i][j-1]=0; |
dfs(i, j-1); |
} |
if (map[i][j+1]==1) |
{ |
map[i][j+1] = 0; |
dfs(i, j+1); |
} |
} |
int main() |
{ |
int count=0; |
cin >> m >> n; |
for (i = 0; i < m; i++) |
for (j = 0; j < n; j++) |
cin >> map[i][j]; |
for (i = 0; i < m; i++) |
for (j = 0; j < n; j++) |
{ |
if (map[i][j]==1) |
{ |
count++; |
map[i][j]=0; |
dfs(i, j); |
} |
} |
cout << count << endl; |
} |
// 深度搜索之记忆化搜索 |
高级设计师
by: 小蜜锋 发表于:2014-05-27 20:10:03 顶(0) | 踩(0) 回复
原题是怎样的?
网友回复
回复qiu0130 : 南阳理工OJ水池数目
顶(0) 踩(0) 2014-05-29 22:25:13
回复评论