题解 | #迷宫问题#

迷宫问题

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

n, m = map(int, input().split())
maze = []
for i in range(n):
    maze.append([int(i) for i in input().split()])

route = []
def dfs(i, j):
    if maze[i][j] == 1:
        return False
    if i == n-1 and j == m-1:
        return True
    maze[i][j] = 1
    for x, y in ((i-1,j), (i+1,j), (i,j-1), (i,j+1)):
        if 0 <= x <= n-1 and 0 <= y <= m-1 and dfs(x, y):
            route.append((x,y))
            return True
dfs(0,0)
for i in [(0,0)] + route[::-1]:
    print(f'({i[0]},{i[1]})')

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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