晚风


私信TA

用户名:uq_24611172404

访问量:2117

签 名:

等  级
排  名 5198
经  验 1517
参赛次数 0
文章发表 35
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

from collections import deque

n=int(input())

m=[[i for i in input()]for _ in range(n)]

v=[[0 for _ in range(n)] for _ in range(n)]

dir=[[1,0],[-1,0],[0,1],[0,-1]]

flag=True

def bfs(x,y):

    q=deque([(x,y)])

    global flag

    while q:

        x,y=q.popleft()

        if m[x+1][y]=='#' and m[x-1][y]=='#' and m[x][y+1]=='#' and m[x][y-1]=='#':

            flag=False

        for i in range(4):

            nx=x+dir[i][0]

            ny=y+dir[i][1]

            if 0<=nx<n and 0<=ny<n and m[nx][ny]=="#" and v[nx][ny]==0:

                v[nx][ny]=1

                q.append((nx,ny))

ans=0

for i in range(n):

    for j in range(n):

        if m[i][j]=='#'and v[i][j]==0:

            v[i][j]=1

            flag=True

            bfs(i,j)

            if flag==True:

                ans+=1

print(ans)


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区