#include<iostream>
using namespace std;
int n,m,a[150][150],ans;char t;
int dx[8]={0,0 ,-1,1,1, 1,-1,-1},
dy[8]={1,-1, 0,0,1,-1,-1, 1};
void dfs(int x,int y){
//cout<<x<<" "<<y<<"\n";
a[x][y]=0;
for(int i=0;i<8;i++){
if(a[x+dx[i]][y+dy[i]]){
dfs(x+dx[i],y+dy[i]);
}
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>t;
if(t=='W')a[i][j]=1;
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(a[i][j]){
//cout<<"\n\n\n";
dfs(i,j);
ans++;
}
}
}
/*
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cout<<a[i][j];
}
cout<<"\n";
}*/
cout<<ans;
return 0;
}
第20行换成t=getchar()就WA,换成scanf("%c",&t)也WA,cin就AC了。害的我调了半天,为什么?