全球变暖

 求解

import sys
sys.setrecursionlimit(int(1e6))

n=int(input())
mp=[input() for _ in range(n)]

vis=[[0]*n for _ in range(n)]
ans=0
flag=True
def dfs(x,y):
##    global ans
    global flag
    vis[x][y]=1
    
    if mp[x-1][y]=='#' and mp[x+1][y]=='#' and mp[x][y-1]=='#'\
       and mp[x][y+1]=='#':
        flag=False

    # 顺便dfs一下(x,y)点旁边的点
    dir=[(0,1),(1,0),(0,-1),(-1,0)]
    for i in range(4):
        nx=x+dir[i][0]
        ny=y+dir[i][1]
        if vis[nx][ny]==0 and mp[nx][ny]=='#':
            dfs(nx,ny)

for i in range(n):
    for j in range(n):
        flag=True
        if vis[i][j]==0 and mp[i][j]=='#':
            dfs(i,j)
        if flag:
            ans+=1
print(ans)
    
    

鸽鸽。。。

posted on 2023-03-28 23:45  快乐的乙炔  阅读(0)  评论(0)    收藏  举报  来源