poj 3620 Avoid The Lakes 真的是我第一道完全理解的深搜题,对于大牛来说很水,但对我来说从中学到了很多。因为简单我直接贴代码!
代码如下:
#include<iostream>
#include<math.h>
#include<algorithm>
using namespace std;
int a[101][101]={0};
int num;
void search(int i,int j)
{
if(a[i][j]==1)
{
a[i][j]=-1;
num ++;
search(i+1,j);
search(i-1,j);
search(i,j+1);
search(i,j-1);
}
}
int main()
{
int n,m,k,i,j,x,y,max=0;
cin>>n>>m>>k;
for(i=1;i<=k;i++)
{
cin>>x>>y;
a[x][y]=1;
}
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
num=0;
search(i,j);
if(num>=max)
max=num;
}
cout<<max<<endl;
return 0;
}

本文分享了作者解决POJ 3620 AvoidTheLakes问题的心得,通过简单的代码示例详细介绍了如何使用深度优先搜索算法来寻找最大湖泊面积。
561

被折叠的 条评论
为什么被折叠?



