题解 | #迷宫问题#
迷宫问题
https://www.nowcoder.com/practice/cf24906056f4488c9ddb132f317e03bc
row, column = map(int, input().split())
puzzle = []
for i in range(row):
puzzle.append(list(map(int, input().split())))
def backtrack(r, c, steps):
if r == row - 1 and c == column - 1:
for line in steps + [(r, c)]:
print(f'({line[0]},{line[1]})')
else:
direction = [(r - 1, c), (r + 1, c), (r, c - 1), (r, c + 1)]
for d in direction:
if 0 <= d[0] < row and 0 <= d[1] < column:
if puzzle[d[0]][d[1]] == 0 and d not in steps:
backtrack(d[0], d[1], steps + [(r, c)])
backtrack(0, 0, [])
简化了一下代码,各位大佬看看有没有什么问题
