比赛 搜索题... 评测结果 AAAWWAWAAA
题目名称 最大的湖 最终得分 70
用户昵称 岳帛翰 运行时间 0.005 s
代码语言 C++ 内存使用 0.33 MiB
提交时间 2014-11-04 19:44:25
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int n,m,k,r,c,ans,tmp;
bool land[110][110];/*,vis[110][110]*/
void lake(int x,int y)
{
	tmp++;
	land[x][y]=0;
	if(land[x+1][y])	lake(x+1,y);
	if(land[x][y+1])	lake(x,y+1);
	if(land[x][y-1])	lake(x,y-1);
	if(land[x-1][y])	lake(x-1,y);
}
int main()
{
	freopen("lake.in","r",stdin);
	freopen("lake.out","w",stdout);
	cin>>n>>m>>k;
	int i=k;
	while(scanf("%d%d",&r,&c)&&i--)	land[r][c]=1;
	for(r=1;r<=n;r++)
	{
		for(c=1;c<=m;c++)
		if(land[r][c])
		{
			lake(r,c);
			if(tmp>ans)
			{
				ans=tmp;
				tmp=0;
			}
		}
	}
	cout<<ans<<endl;
	return 0;
}