poj 3620 Avoid The Lakes

来源:互联网 发布:linux 查看进程cpu 编辑:程序博客网 时间:2024/05/20 17:59
#include<iostream>#include<math.h>#include<cstring>using namespace std;char map[500][500];int n,m,k;int b[4][2]={ {1,0},{-1,0},{0,1},{0,-1} };int cnt;void dfs(int x,int y){int dx,dy;int i;for(i=0;i<4;i++){dx=x+b[i][0];dy=y+b[i][1];if(dx>=1&&dx<=n&&dy>=1&&dy<=m&&map[dx][dy]=='1'){map[dx][dy]='0';cnt++;dfs(dx,dy);//cnt--;}}return ;}int main(){int i,j;int mmax;//int cnt;int a,b; while(scanf("%d%d%d",&n,&m,&k)!=EOF) { for(i=1;i<=499;i++) for(j=1;j<=499;j++) map[i][j]='0';  for(i=1;i<=k;i++) { scanf("%d%d",&a,&b); map[a][b]='1'; } mmax=0; for(i=1;i<=n;i++) { for(j=1;j<=m;j++) { if(map[i][j]=='1') { cnt=0; dfs(i,j); if(cnt>mmax) mmax=cnt; } } } printf("%d\n",mmax); } return 0;}

0 0
原创粉丝点击