hdu 2925

来源:互联网 发布:男朋友宠我知乎 编辑:程序博客网 时间:2024/06/06 01:32
#include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <vector>#include <map>#include <set>#include <string>#include <cstring>#include <list>#include <queue>#include <stack>#include <cmath>using namespace std;#define PF(x) (scanf("%d",&x))#define PT(x,y) (scanf("%d%d",&x,&y))#define PR(x) (printf("%d\n",x))#define PRT(x,y)(printf("%d %d\n",x,y))#define PB(x)(scanf("%I64d",&x))#define PRB(x)(printf("%I64d\n",(x)))typedef __int64 LL;#define N 100005#define M 105#define Mod 1000#define Inf 0x7fffffffchar maps[M][M];int is[M][M];void dfs(int x,int y){if(maps[x+1][y] =='#' &&!is[x+1][y]){is[x+1][y] = 1;dfs(x+1,y);}if(maps[x][y+1] =='#' &&!is[x][y+1]){is[x][y+1] = 1;dfs(x,y+1);}if(maps[x-1][y] =='#' &&!is[x-1][y]){is[x-1][y] = 1;dfs(x-1,y);}if(maps[x][y-1] =='#' &&!is[x][y-1]){is[x][y-1] = 1;dfs(x,y-1);}}void init(){int test;PF(test);while(test--){memset(maps,'0',sizeof(maps));memset(is,0,sizeof(is));int count = 0;int n,m;PT(n,m);for(int i=1;i<=n;i++)scanf("%s",maps[i]+1);for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(!is[i][j] && maps[i][j] == '#'){   is[i][j] = 1;dfs(i,j);count++;}PR(count);}return ;}int main(){init();return 0;}

原创粉丝点击