#include<iostream>
using namespace std;
struct node{
int x,y;
}que[1001];
int head=1,tail=1;
int map[1001][1001];
int dx[5]={-1,1,0,0},dy[5]={0,0,1,-1};
int n,m,xx,yy,sum=0;
void bfs(int sx,int sy){
que[tail].x=sx;
que[tail].y=sy;
map[sx][sy]=0;
tail++;
while(head<tail){
for(int i=0;i<4;i++){
xx=que[head].x+dx[i];
yy=que[head].y+dy[i];
if(xx>=1&&xx<=n&&yy>=1&&yy<=m&&map[xx][yy]!=0){
map[xx][yy]=0;
que[tail].x=xx;
que[tail].y=yy;
tail++;
}
}
head++;
}
sum++;
return;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
char c;
cin>>c;
map[i][j]=c-'0';
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(map[i][j]!=0) bfs(i,j);
}
}
cout<<sum<<endl;
return 0;
}
输入借鉴的dalao秉烛顷夜
题目链接P1451
只WA了#6