题意:用.表示一头羊,用#表示草,若两头羊处于上,下,左,右,相邻的位置,则它们属于一个羊群
求有多少个羊群
#include<stdio.h>
#include<string.h>
char s[105][105];
int m,n;
void dfs(int i,int j)
{
s[i][j]='.';
if(i>0&&s[i-1][j]=='#')
dfs(i-1,j);
if(i<n-1&&s[i+1][j]=='#')
dfs(i+1,j);
if(j>0&&s[i][j-1]=='#')
dfs(i,j-1);
if(j<m-1&&s[i][j+1]=='#')
dfs(i,j+1);
}
int main()
{
int i,j,T,t;
scanf("%d",&T);
getchar();
while(T--){
scanf("%d %d",&n,&m);
getchar();
for(i=0;i<n;i++){
for(j=0;j<m;j++)
s[i][j]=getchar();
getchar();
}
t=0;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
if(s[i][j]=='#'){
t++;
dfs(i,j);
}
printf("%d\n",t);
}
return 0;
}