F. Avoid The Lakes
来源:互联网 发布:做美食软件 编辑:程序博客网 时间:2024/05/05 10:44
F. Avoid The Lakes
Farmer John's farm was flooded in the most recent storm, a fact only aggravated by the information that his cows are deathly afraid of water. His insurance agency will only repay him, however, an amount depending on the size of the largest "lake" on his farm.The farm is represented as a rectangular grid withN (1 ≤ N ≤ 100) rows and M (1 ≤ M ≤ 100) columns. Each cell in the grid is either dry or submerged, and exactlyK (1 ≤ K ≤ N × M) of the cells are submerged. As one would expect, a lake has a central cell to which other cells connect by sharing a long edge (not a corner). Any cell that shares a long edge with the central cell or shares a long edge with any connected cell becomes a connected cell and is part of the lake.
Input
* Line 1: Three space-separated integers: N,M, and K
* Lines 2..K+1: Line i+1 describes one submerged location with two space separated integers that are its row and column:R and C
Output
* Line 1: The number of cells that the largest lake contains.
Sample Input
3 4 53 22 23 12 31 1
Sample Output
4
#include<stdio.h>#include<string.h>#include<queue>using namespace std;int map[102][102];int dir[4][2]= {1,0,0,1,-1,0,0,-1};struct node{ int x; int y;};int bfs(int x,int y){ int sum=0; node first,next; queue<node> q; first.x=x; first.y=y; q.push(first); map[x][y]=0; sum=1; while(!q.empty()) { first=q.front(); q.pop(); for(int i=0; i<4; i++) { next.x=first.x+dir[i][0]; next.y=first.y+dir[i][1]; if(map[next.x][next.y]) { map[next.x][next.y]=0; sum++; q.push(next); } } } return sum;}int main(){ int n,m,t; int max1,sum; int x,y; int i,j; while(scanf("%d%d%d",&n,&m,&t)!=EOF) { max1=0; node ste[10000]; memset(map,0,sizeof(map)); for(i=0; i<t; i++) { scanf("%d%d",&ste[i].x,&ste[i].y); map[ste[i].x][ste[i].y]=1; } for(i=0; i<t; i++) { sum=bfs(ste[i].x,ste[i].y); if(sum>max1) max1=sum; } printf("%d\n",max1); } return 0;}
- F. Avoid The Lakes
- pku3620 Avoid The Lakes
- 1543 Avoid The Lakes
- POJ3620:Avoid The Lakes
- Avoid The Lakes
- BNU Avoid The Lakes
- POJ3620 Avoid The Lakes
- Avoid The Lakes POJ
- Avoid The Lakes
- Avoid The Lakes
- Avoid The Lakes
- Avoid The Lakes
- Avoid The Lakes--poj3620
- Avoid The Lakes
- openjudge avoid the lakes
- POJ Avoid The Lakes
- POJ3620 Avoid The Lakes
- Avoid The Lakes(DFS)
- android学习:菜单(Menu)的使用
- java动态代理
- Interface JAVA
- 全局变更使用及编译
- Highcharts简介
- F. Avoid The Lakes
- 通过注册表寻找应用程序路径
- Tomcat最大连接数问题
- viewController详解,加载过程以及生命周期
- oracle 直接加载数据
- hdu 4576 Robot
- 杭电 汉诺塔问题总结
- 任意数字序列“123456”之类,输出它们所有的排列组合
- 黑马程序员-数据类型的转换,算术运算符,逻辑运算符