#include<bits/stdc++.h>
using namespace std;
char s[101][101];
void dfs(int x,int y)
{
s[x][y]='.';//将积水变干
for(int i=-1;i<=1;i++)//遍历周围8个方向是否有积水,有积水就递归
for(int j=-1;j<=1;j++)
{
int dx=x+i,dy=y+j;
if(s[dx][dy]=='#')
dfs(dx,dy);
}
return ;
}
int main()
{
int n,m;
while(scanf("%d%d",&n,&m));
{
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
cin>>s[i][j];
int sum=0;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
{
if(s[i][j]=='#')
{
sum++;
dfs(i,j);
}
}
cout<<sum<<endl;
}
return 0;
}
转载于:https://www.cnblogs.com/wangtao971115/p/10358404.html