python dfs 为啥设置递归深度了第二个还是不行
查看原帖
python dfs 为啥设置递归深度了第二个还是不行
598607
liangstar123楼主2022/7/27 09:46
import sys
sys.setrecursionlimit(1000000000)
la=[]#知识点就是用bfs 和 dfs进行遍历
n,m=map(int,input().split())
for i in range(n):
    s=list(input())
    la.append(s)
dir=[(-1,0),(1,0),(0,1),(0,-1),(-1,1),(-1,-1),(1,1),(1,-1)]
def check(x,y):
    if x<0 or x>=n or y<0 or y>=m or la[x][y]==".":
        return False
    return True

def dfs(a,b):
    la[a][b]="."
    for l in dir:
        x1=a+l[0]
        y1=b+l[1]
        if check(x1,y1):
            dfs(x1,y1)
ans=0
for i in range(n):
    for j in range(m):
        if la[i][j]=="W":
            dfs(i,j)
            ans=ans+1
print(ans)
2022/7/27 09:46
加载中...