比赛 搜索题... 评测结果 AAAAAAAAAA
题目名称 最大的湖 最终得分 100
用户昵称 jacon 运行时间 0.025 s
代码语言 C 内存使用 0.31 MiB
提交时间 2014-11-04 20:12:40
显示代码纯文本
#include <stdio.h>
#include <stdlib.h>
int an[110][110]={{0}},be[1010];
int sosuo(int x,int y)
{   
    int k=1;
    if(an[x][y]==0) return 0;   
    an[x][y]=0;
	k+=sosuo(x-1,y);
	k+=sosuo(x,y-1);
	k+=sosuo(x,y+1);
	k+=sosuo(x+1,y);/**/
	return k;
}
int main(int argc, char *argv[])
{
	freopen("lake.in","r",stdin);
	freopen("lake.out","w",stdout); 
 	int n,m,k1;
 	fscanf(stdin,"%d%d%d",&n,&m,&k1);
 	int i,j;
 	int a,b;
 	for(i=1;i<=k1;i++)
 	{
 		fscanf(stdin,"%d%d",&a,&b);
 		an[a][b]=1;
 	}
 	int p=0;
 	  for(i=1;i<=n;i++)
 	   {
 	   		for(j=1;j<=m;j++)
 	   		if(an[i][j]==1) 
 	   		{
 	   			be[p]=sosuo(i,j);p++;
 	   		}
 	   }

 	int q;
 	int max=-1;
 	for(q=0;q<=p;q++)
 	if(be[q]>=max) max=be[q];
 	fprintf(stdout,"%d",max);
 	fclose(stdin);
	fclose(stdout);
	return 0;
}