RT
#include<bits/stdc++.h>
using namespace std;
int n,m;
char a[200][200];
int b[200][200];
inline void dfs(int x,int y){
if(x<1||y<1||x>n||y>m){
return;
}
if(b[x][y+1]!=0){
b[x][y+1]=0;
dfs(x,y+1);
}
if(b[x][y-1]!=0){
b[x][y-1]=0;
dfs(x,y-1);
}
if(b[x+1][y]!=0){
b[x+1][y]=0;
dfs(x+1,y);
}
if(b[x-1][y]!=0){
b[x-1][y]=0;
dfs(x-1,y);
}
}
inline int read(){
int tot=0;
int x=0;
int f=1;
char ch=getchar();
while(ch<'0'||ch>'9'){
if(ch=='-'){
f=-1;
}
}
while(ch>='0'&&ch<='9'){
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*f;
}
inline void write(int x){
char F[200];
int tmp=x>0?x:-x ;
if(x<0){
putchar('-');
}
int cnt=0 ;
while(tmp>0){
F[cnt++]=tmp%10+'0';
tmp/=10;
}
while(cnt>0){
putchar(F[--cnt]);
}
}
int main(){
int tot=0;
n=read();
m=read();
for(register int i=0;i<n;++i){
for(register int j=0;j<m;++j){
a[i][j]=getchar();
b[i][j]=a[i][j]-48;
}
}
for(register int i=0;i<n;++i){
for(register int j=0;j<m;++j){
if(!b[i][j]==0){
dfs(i,j);
b[i][j]=0;
tot++;
}
}
}
write(tot);
return 0;
}
全WA的我。。。