poj3620Avoid The Lakes【dfs】
2016-01-02 21:01
253 查看
Language: Default 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 with N (1 ≤ N ≤ 100) rows and M (1 ≤ M ≤ 100) columns. Each cell in the grid is either dry or submerged, and exactly K (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 5 3 2 2 2 3 1 2 3 1 1 Sample Output 4 #include<cstdio> #include<cstdlib> #include<cstring> #include<algorithm> #include<cmath> #include<queue> #define inf 0x3f3f3f3f using namespace std; const int maxn=110; int n,m,ans,temp; bool map[maxn][maxn]; bool vis[maxn][maxn]; bool judge(int x,int y){ return x>=1&&x<=n&&y>=1&&y<=m&&!vis[x][y]&&map[x][y]; } void dfs(int x,int y){ if(!judge(x,y))return ; vis[x][y]=true; temp++; dfs(x,y-1);dfs(x,y+1); dfs(x-1,y);dfs(x+1,y); } int main() { int i,j,k,x,y; while(scanf("%d%d%d",&n,&m,&k)!=EOF){ memset(vis,false,sizeof(vis)); memset(map,false,sizeof(map)); for(i=0;i<k;++i){ scanf("%d%d",&x,&y); map[x][y]=true; } ans=0; for(i=1;i<=n;++i){ for(j=1;j<=m;++j){ if(map[i][j]&&!vis[i][j]){ temp=0;dfs(i,j); ans=max(ans,temp); } } } printf("%d\n",ans); } return 0; } |
相关文章推荐
- Ubuntu 下修改 Could not reliably determine the serve
- The Grabber v1.4.8.2 (2007.05.18) 下载
- List all the Databases on a SQL Server
- Using the TextRange Object
- Nginx出现The plain HTTP request was sent to HTTPS port问题解决方法
- the import cannot be resolved
- The APR based Apache Tomcat Native library which allows ...java.library...异常
- The art of software testing翻译--第一章
- The art of software testing翻译--第三章(1)
- xcode常见错误解析
- 的的
- The Difference Between “Add Web Reference” and “Add Service Reference”
- Get the SID of an Active Directory User
- The following types may not be used as proxies 异常处理办法
- The application’s PagerAdapter changed the adapter’s contents without calling PagerA
- Apache 502 The proxy server 解决办法
- can't turn off the calendar reminder...
- Missy Elliott 2005年专辑『The Cookbook』介绍(转自:: 华纳线上音乐杂志)
- BFD in the Metro Ring
- 虚拟机vmx打不开 Failed to lock the file的解决方法(转 载)