#include<stdio.h> #include<string.h> #include<stdlib.h> int n,m; char map[105][105]; int hash[105][105]; int isok(int i,int j) { if(i>=0&&i<n&&j>=0&&j<m&&map[i][j]=='#'&&!hash[i][j]) { return 1; } return 0; } void DFS(int x,int y) { hash[x][y]=1; if(isok(x+1,y)) { DFS(x+1,y); } if(isok(x-1,y)) { DFS(x-1,y); } if(isok(x,y+1)) { DFS(x,y+1); } if(isok(x,y-1)) { DFS(x,y-1); } } int main() { int t; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); for(int i=0;i<n;i++) { scanf("%s",map[i]); } memset(hash,0,sizeof(hash)); int s=0; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { if(isok(i,j)) { s++; DFS(i,j); } } } printf("%d\n",s); } //system("pause"); return 0; }