题解 | #迷宫问题#

迷宫问题

https://www.nowcoder.com/practice/cf24906056f4488c9ddb132f317e03bc

# DFS

m,n=list(map(int,input().strip().split()))
g=[list(map(int,input().strip().split())) for _ in range(m)]

def dfs(x,y,z):
if (x,y)==(m-1,n-1):
for i in z:print(f'({i[0]},{i[1]})')

if x+1<m and g[x+1][y]!=1 and (x+1,y) not in z:
dfs(x+1,y,z+[(x+1,y)])
if y+1<n and g[x][y+1]!=1 and (x,y+1) not in z:
dfs(x,y+1,z+[(x,y+1)])

if x-1>=0 and g[x-1][y]!=1 and (x-1,y) not in z:
dfs(x-1,y,z+[(x-1,y)])

if y-1>=0 and g[x][y-1]!=1 and (x,y-1) not in z:
dfs(x,y-1,z+[(x,y-1)])

dfs(0,0,[(0,0)])


全部评论

相关推荐

评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务