比赛 |
搜索题... |
评测结果 |
AAAAAAAAAA |
题目名称 |
最大的湖 |
最终得分 |
100 |
用户昵称 |
Vincent |
运行时间 |
0.027 s |
代码语言 |
C++ |
内存使用 |
0.37 MiB |
提交时间 |
2014-11-04 19:58:54 |
显示代码纯文本
#include <cstdio>
#include <cstring>
#include <iostream>
#define MAXN 110
#define max(A,B) ((A)>(B)?(A):(B))
using namespace std;
int a[MAXN][MAXN]={0},vis[MAXN][MAXN]={0};
int n,m,k,ans=0;
int dfs(int x,int y){
if (!vis[x][y]&&a[x][y]){
vis[x][y]=1;
int cnt;
cnt = 1+dfs(x,y-1)+dfs(x,y+1)+dfs(x-1,y)+dfs(x+1,y);
return cnt;
}
return 0;
}
int main(){
int x,y,t;
freopen("lake.in","r",stdin);
freopen("lake.out","w",stdout);
scanf("%d%d%d",&n,&m,&k);
for (int i=0;i<k;++i) {
scanf("%d%d",&x,&y);
a[x][y]=1;
}
for (int i=1;i<=n;++i){
for (int j=1;j<=m;++j){
t=dfs(i,j);
ans=max(ans,t);
}
}
printf("%d\n",ans);
return 0;
}