题解 | 迷宫问题
迷宫问题
https://www.nowcoder.com/practice/cf24906056f4488c9ddb132f317e03bc
from collections import deque
h,w = map(int,input().split())
grid = [list(map(int,input().split())) for _ in range(h)]
visit = [[False]*w for _ in range(h)]
dxy = [(-1,0),(1,0),(0,-1),(0,1)]
path = []
q = deque()
q.append((0,0))
visit[0][0]=True
step = 0
def print_path():
for x,y in path:
print(f"({x},{y})")
def dfs(x,y):
visit[x][y]=True
path.append((x,y))
if x==h-1 and y==w-1:
print_path()
return
for dx,dy in dxy:
nx = x + dx
ny = y + dy
if 0<=nx<h and 0<=ny<w:
if not visit[nx][ny] and grid[nx][ny]==0:
dfs(nx,ny)
visit[nx][ny]=False
path.pop()
dfs(0,0)
查看12道真题和解析