题解 | #迷宫问题#
迷宫问题
https://www.nowcoder.com/practice/cf24906056f4488c9ddb132f317e03bc
import sys lis = [] for line in sys.stdin: lis.append([int(x) for x in line.split()]) m, n = lis[0][0], lis[0][1] matrix = lis[1:] path = [] res = [] visited = [[0]* n for _ in range(m)] #标记是否访问过了,访问过记为1, def traversal(i, j): # nonlocal path, m, n if not 0 <= i <= m-1 or not 0 <= j <= n-1: return if matrix[i][j] or visited[i][j]: return path.append([i, j]) visited[i][j] = 1 #标记已访问的点 if i == m - 1 and j == n-1: res.append(path[:]) # 如果走到尽头,添加路径到结果 return traversal(i+1, j) traversal(i-1, j) traversal(i, j+1) traversal(i, j-1) path.pop() #回溯 visited[i][j] = 0 return traversal(0, 0) res = res[0] for i in res: print('('+str(i[0])+','+str(i[1])+')')