monkey AC

せいしゅん404  •  11个月前


include<bits/stdc++.h>

using namespace std;

define N 105

struct point{int c,r;}; char monkey[N][N]; int dr[]={0,1,0,-1},dc[]={1,0,-1,0}; queue q; int main(void){

int n,m,ans=0;
fill(monkey[0],monkey[0]+105*105,'0');
cin>>n>>m;
for(int i=1;i<=n;i++)
	for(int j=1;j<=m;j++)
		cin>>monkey[i][j];

for(int i=1;i<=n;i++){
	for(int j=1;j<=m;j++){
		if(monkey[i][j]!='0'){
			ans++;
			point po;
			po.r=i,po.c=j;
			monkey[i][j]='0';
			q.push(po);
			while(!q.empty()){
				po=q.front();
				for(int i=0;i<4;i++){
					point poN;
					poN.r=po.r+dr[i],poN.c=po.c+dc[i];
					if(monkey[poN.r][poN.c]!='0'){
						q.push(poN),monkey[poN.r][poN.c]='0';
					}
				}
				q.pop();
			}
		}
	}
}
cout<<ans<<" "<<endl;
return 0;

}


评论:

请先登录,才能进行评论