题解 | #迷宫问题#

迷宫问题

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

while True:
    try:
        m, n = map(int, (input().split()))
        grid = []
        for _ in range(m):
            line = list(map(int, input().split()))
            grid.append(line)
    except:
        break
    else:

        def findPath(grid, i, j, path):
            if not 0 <= i < m or not 0 <= j < n or grid[i][j] == 1: return
            grid[i][j] = 1
            path.append((i, j))
            if i == m - 1 and j == n - 1:
                for cor in path:
                    print('({0},{1})'.format(cor[0], cor[1]))
                return
            else:
                findPath(grid, i - 1, j, path)
                findPath(grid, i + 1, j, path)
                findPath(grid, i, j - 1, path)
                findPath(grid, i, j + 1, path)
                path.pop()

        findPath(grid, 0, 0, [])

全部评论

相关推荐

昨天 21:43
已编辑
Imperial College London Java
汇丰科技 oc 18*12 + 年终
点赞 评论 收藏
分享
10-15 16:27
门头沟学院 C++
LeoMoon:建议问一下是不是你给他付钱😅😅
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务