题解 | #迷宫问题#

迷宫问题

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, [])

全部评论

相关推荐

牛舌:如果我不想去,不管对方给了多少,我一般都会说你们给得太低了。这样他们就会给下一个offer的人更高的薪资了。
点赞 评论 收藏
分享
牛客101244697号:这个衣服和发型不去投偶像练习生?
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务