#include"iostream"
#include"cstdio"
#include"cstdlib"
#include"cstring"
using namespace std;
char map[105][105];
int book[105][105];
int n,m;
int nextk[4][2]={{1,0},{-1,0},{0,-1},{0,1}};
int sum=0;
void dfs(int i,int j)
{
for(int a=0;a<4;a++)
{
int dx=i+nextk[a][0];
int dy=j+nextk[a][1];
if(dx<1||dx>n||dy<1||dy>m||book[dx][dy]==1||map[dx][dy]!='#') continue;
else
{
book[dx][dy]=1;
dfs(dx,dy);
}
}
}
int main()
{
int t;
cin>>t;
while(t--)
{
sum=0;
cin>>n>>m;
memset(book,0,sizeof(book));
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cin>>map[i][j];
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(book[i][j]==0&&map[i][j]=='#')
{
book[i][j]=1;
sum++;
dfs(i,j);
}
}
}
cout<<sum<<endl;
}
return 0;
}
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交