#include<bits/stdc++.h> using namespace std; char c[110][110]; int n,m,yu; int dx[12]={1,0,-1,0,1,-1,1,-1,2,0,0,-2}; int dy[12]={0,1,0,-1,1,1,-1,-1,0,2,-2,0}; void dfs(int x,int y){ for(int i=0;i<=11;i++){ int tx=x+dx[i]; int ty=y+dy[i]; if(c[tx][ty]=='#'&&tx>=1&&tx<=n&&ty>=1&&ty<=m){ c[tx][ty]='-'; dfs(tx,ty); } } } int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>c[i][j]; } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(c[i][j]=='#'){ yu++; c[i][j]='-'; dfs(i,j); } } } cout<<yu; return 0; } /************************************************************** Problem: 1966 User: huangsheng Language: C++ Result: Accepted Time:21 ms Memory:2084 kb ****************************************************************/