2014年1月7日 星期二
[ZJ] d165. 八、草场普查
#include<stdio.h>
#include<string.h>
int v[105][105],s[105][105]={0},d[4][2]={{0,1},{0,-1},{1,0},{-1,0}},n,m,ans,add,cnt;
void dfs(int x,int y){
add+=s[x][y];
if(s[x][y]==0) return;
for(int i=0;i<4;i++){
if(v[x+d[i][0]][y+d[i][1]]==0){
v[x+d[i][0]][y+d[i][1]]=1;
dfs(x+d[i][0],y+d[i][1]);
}
}
}
int main(){
int i,j;
while(scanf("%d%d",&n,&m)!=EOF){
memset(v,0,sizeof(v));
memset(s,0,sizeof(s));
ans=cnt=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
scanf("%d",&s[i][j]);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(s[i][j] && v[i][j]==0){
add=0,v[i][j]=1,dfs(i,j),cnt++;
if(add>ans) ans=add;
}
printf("%d\n%d\n",cnt,ans);
}
}
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言