#include <stdio.h>
int d[4][2]={1,0,-1,0,0,1,0,-1};
char field[101][101];
int n,m;
void dfs(int x, int y)
{
int i,xx,yy;
for(i=0; i<4; i++)
{
xx=x+d[i][0];
yy=y+d[i][1];
if(xx<1||yy<1||xx>n||yy>m||field[xx][yy]=='.')
continue;
field[xx][yy]='.';
dfs(xx,yy);
}
return;
}
int main()
{
int t, i, j;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
for(i=1; i<=n; i++)
{
getchar();
for(j=1; j<=m; j++)
scanf("%c",&field[i][j]);
}
int ans=0;
for(i=1; i<=n; i++)
{
for(j=1; j<=m; j++)
{
if(field[i][j]=='#')
{
ans++;
dfs(i, j);
}
}
}
printf("%d\n", ans);
}
return 0;
}
hdu 2952Counting Sheep
最新推荐文章于 2018-09-16 20:17:48 发布