[c++]代码库
#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
回复评论