rt
#include<iostream>
using namespace std;
const int dx[4]={-1,0,1,0},
dy[4]={0,1,0,-1};
string s;
int a[50][80]={0};
int n,m,num;
void dfs(int x,int y){
int p,q;
a[x][y]=0;
for(int i=0;i<4;i++){
p=x+dx[i];
q=y+dy[i];
if(p>=0&&p<n&&q>=0&&q<m&&a[p][q]==1)
dfs(p,q);
}
}
int main(){
cin>>n>>m;
for(int i=0;i<n;i++){
cin>>s;
for(int j=0;j<m;j++)
if(s[j]=='0')a[i][j]=0;
else a[i][j]=1;
}
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
if(a[i][j]==1){
num++;
dfs(i,j);
}
cout<<num;
return 0;
}
感谢