is void bfs 错了
#include<bits/stdc++.h>
using namespace std;
struct pp{
int x,y;
}zz[5]={{0,0},{-1,0},{0,-1},{1,0},{0,1}};
int n,m;
int a[100][100];
pp que[100000];
int head=1,tail=1;
int ans;
void bfs(int x,int y){
que[tail].x=x;
que[tail].y=y;
tail++;
while(head<tail){
for(int i=1;i<=4;i++){
int xx=que[head].x+zz[i].x;
int yy=que[head].y+zz[i].y;
if(xx>=1&&xx<=n&&yy>=1&&yy<=m&&a[xx][yy]!=0){
a[xx][yy]=0;
que[tail].x=xx;
que[tail].y=yy;
tail++;
}
}
head++;
}
}
int main(){
cin>>n>>m;
char temp;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>temp;
a[i][j]=temp;
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
head=tail=1;
if(a[i][j]!=0){
bfs(i,j);
ans++;
}
}
}
cout<<ans;
return 0;
}