AcWing 1233. 全球变暖
原题链接
简单
作者:
这可不是乱打的啊
,
2021-01-27 21:14:32
,
所有人可见
,
阅读 373
#include<bits/stdc++.h>
using namespace std;
int n;
char a[1010][1010];
int vis[1010][1010],ac,dx[]={0,0,1,-1},dy[]={1,-1,0,0};
void dfs(int x, int y){
vis[x][y] = 1;
if(a[x][y+1]=='#' && a[x][y-1]=='#' && a[x+1][y]=='#' && a[x-1][y]=='#')
ac = 1;
for(int i = 0; i < 4; i++){
int nx = x + dx[i], ny = y + dy[i];
if(vis[nx][ny]==0 && a[nx][ny]=='#')
dfs(nx,ny);
}
}
int main(){
cin >> n;
for(int i = 1; i <= n; i++)
for(int j = 1; j <= n; j++)
cin >> a[i][j];
int c = 0 ;
for(int i = 1; i <= n; i++)
for(int j = 1; j <= n; j++)
if(a[i][j]=='#' && vis[i][j]==0){
ac = 0;
dfs(i,j);
if(ac == 0)
c++;
}
cout<<c;
return 0;
}