比赛 搜索题... 评测结果 AAAAAAAAAA
题目名称 最大的湖 最终得分 100
用户昵称 Rivendell 运行时间 0.011 s
代码语言 C++ 内存使用 0.35 MiB
提交时间 2014-11-04 18:26:22
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int map[101][101]={0},xd[4]={0,0,1,-1},yd[4]={1,-1,0,0},sum,n,m;
void work(int x,int y)
{
	int xx,yy,i;
	map[x][y]=0;
	++sum;
	for (i=0;i<=3;++i)
	{
		xx=x+xd[i];
		yy=y+yd[i];
		if (xx>0&&xx<=n&&yy>0&&yy<=m&&map[xx][yy]==1)
			work(xx,yy);
	}
}
int main()
{
	freopen("lake.in","r",stdin);
	freopen("lake.out","w",stdout);
	
	int ans=0,i,j,k,r,c;
	cin>>n>>m>>k;
	for (i=1;i<=k;++i)
	{
		cin>>r>>c;
		map[r][c]=1;
	}
	for (i=1;i<=n;++i)
	  for (j=1;j<=m;++j)
	    if (map[i][j]==1)
	    {
	    	sum=0;
	    	work(i,j);
	    	ans=max(ans,sum);
	    }
	cout<<ans<<endl;

    fclose(stdin);
    fclose(stdout);
}