比赛 |
搜索题... |
评测结果 |
AAAAAAAAAA |
题目名称 |
最大的湖 |
最终得分 |
100 |
用户昵称 |
sqyon |
运行时间 |
0.011 s |
代码语言 |
C++ |
内存使用 |
0.30 MiB |
提交时间 |
2014-11-04 19:44:41 |
显示代码纯文本
#include <cstdio>
#define maxn 110
bool v[maxn][maxn];
int n, m, k, ans, now;
int g[4][2] =
{
{1, 0}, {0, 1},
{0, -1},{-1, 0}
};
void dfs(int x, int y)
{
if (!v[x][y] || x < 0 || y < 0)
return;
now++;
v[x][y] = false;
for (int i = 0; i < 4; i++)
dfs(x + g[i][0], y + g[i][1]);
return ;
}
int main()
{
freopen("lake.in", "r", stdin);
freopen("lake.out", "w", stdout);
scanf("%d %d %d", &n, &m, &k);
int x, y;
for (int i = 0; i < k; i++)
{
scanf("%d %d", &x, &y);
v[x][y] = true;
}
for (int i = 0; i <= n ;i++)
for (int j = 0; j <= m ;j++)
if (v[i][j])
{
now = 0;
dfs(i, j);
ans = ans > now ? ans : now;
}
printf("%d", ans);
return 0;
}