比赛 |
搜索题... |
评测结果 |
AAWWWWWWWW |
题目名称 |
最大的湖 |
最终得分 |
20 |
用户昵称 |
席一鸣 |
运行时间 |
0.010 s |
代码语言 |
C++ |
内存使用 |
0.37 MiB |
提交时间 |
2014-11-04 18:29:54 |
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<queue>
using namespace std;
bool v[110][110];
int p[110][110],m,n,w,x[4]={0,0,1,-1},y[4]={1,-1,0,0};
struct o
{
int x,y;
}s;
void f(int r,int t)
{
int i,u=1;
o h,z;
queue<o>q;
s.x=r;
s.y=t;
v[r][t]=1;
q.push(s);
while(!q.empty())
{
h=q.front();
q.pop();
w=max(u,w);
for(i=0;i<4;i++)
{
z=h;
z.x+=x[i];
z.y+=y[i];
if(!v[z.x][z.y]&&p[z.x][z.y]==1)
{
w++;
v[z.x][z.y]=1;
q.push(z);
}
}
}
}
main()
{
freopen("lake.in","r",stdin);
freopen("lake.out","w",stdout);
int a,b,i,j,k,m,n;
cin>>n>>m>>k;
for(i=0;i<k;i++)
{
cin>>a>>b;
p[a][b]=1;
}
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(p[i][j]==1&&!v[i][j])
f(i,j);
cout<<w;
}