#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[102][102];
void dfs(int x,int y){
if(x<1||x>n||y<1||y>m) return ;
if(a[x][y+1]!=0){
a[x][y+1]=0;
dfs(x,y+1);
}
if(a[x][y-1]!=0){
a[x][y-1]=0;
dfs(x,y-1);
}
if(a[x+1][y]!=0){
a[x-1][y]=0;
dfs(x+1,y);
}
if(a[x-1][y]!=0){
a[x-1][y]=0;
dfs(x-1,y);
}
}
char c;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>c;
a[i][j]=int(c-'0');
}
}
int sum=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(a[i][j]!=0){
a[i][j]=0;
sum++;
dfs(i,j);
}
}
}
cout<<sum;
return 0;
}
```
20分