ac

黄昏中的雷霆  •  5天前


include<bits/stdc++.h>

using namespace std; int n,m,A[305][305],num=0; void Ab(int x,int y,int k){

if(x>n||y>m||x<1||y<1){
	return;
}	
if(A[x][y]!=1){
	return;
}else{
	if(k==1){
		num++;
	}
	A[x][y]=2;
	Ab(x,y+1,k);
	Ab(x,y-1,k);
	Ab(x+1,y,k);
	Ab(x-1,y,k);		
}

}

int main(){

scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++){
	for(int j=1;j<=m;j++){
		scanf("%d",&A[i][j]);
	}	
}
for(int i=1;i<=n;i++){
	Ab(i,1,0);
	Ab(i,m,0);
} 
for(int i=1;i<=m;i++){
	Ab(1,i,0);
	Ab(n,i,0);
} 	
for(int i=1;i<=n;i++){
	for(int j=1;j<=m;j++){
		if(A[i][j]==1){
			Ab(i,j,1); 
		}
	}	
}
printf("%d",num);	
return 0;

}


评论:

请先登录,才能进行评论