比赛 搜索题... 评测结果 AAAAAAAAAA
题目名称 最大的湖 最终得分 100
用户昵称 江羽道 运行时间 0.007 s
代码语言 C 内存使用 0.31 MiB
提交时间 2014-11-04 19:38:54
显示代码纯文本
#include <stdio.h>
#include <stdlib.h>
 
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
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[])
 {
 	int n,m,k1;
 	freopen("lake.in","r",stdin);
 	freopen("lake.out","w",stdout); 
 	scanf("%d%d%d",&n,&m,&k1);
 	int i,j;
 	int a,b;
 	for(i=1;i<=k1;i++)
 	{
 		scanf("%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];
 	printf("%d",max);
	return 0;
}