大佬帮帮忙~~~
#include<bits/stdc++.h>
using namespace std;
int bx[5]={0,-1,0,1,0},
by[5]={0,0,-1,0,1};
int n,m,ma[100][100],ans=0;
void dfs(int ,int );
int main(){
char c;
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++){
cin>>c;
int g=c-'0';
ma[i][j]=g;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(ma[i][j]!=0){
dfs(i,j);
ans++;
}
}
}
cout<<ans;
return 0;
}
void dfs(int i,int j){
ma[i][j]=0;
for(int k=1;k<=4;k++){
if(ma[i+bx[k]] [j+by[k]]!=0&&i+bx[k]>=1&&i+bx[k] <=n&&j+by[k]>=1&&j+by[k]<=n){
dfs(i+bx[k],j+by[k]);
}
}
return;
}