#include<bits/stdc++.h>
using namespace std;
const int mx = 1005;
int n,m;
char a[mx][mx];
void solve(int x,int y){
a[x][y] = '0';
for(int i = -1;i<=1;i++){
for(int j = -1;j<=1;j++){
int nx = x+i;int ny = y+j;
if(nx>=0&&nx<n&&ny>=0&&ny<m&&a[nx][ny]!='0')solve(nx,ny);
}
}
}
int main(){
cin>>n>>m;
for(int i = 0;i<n;i++){
for(int j = 0;j<m;j++){
cin>>a[i][j];
}
}
int ct = 0;
for(int i = 0;i<n;i++){
for(int j = 0;j<m;j++){
if(a[i][j]!='0'){
solve(i,j);
ct++;
}
}
}
cout<<ct;
}
求助