题解 | #迷宫问题#

迷宫问题

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

def dfs(i, j):
    if not 0 <= i < m or not 0 <= j < n or matrix[i][j] == 1:
        return False
    if i == m-1 and j == n-1:
        res.append((i, j))
        return True
    matrix[i][j] = 1
    res.append((i, j))
    if dfs(i+1, j) or dfs(i, j+1) or dfs(i-1, j) or dfs(i, j-1):
        return True
    res.pop()


while True:
    try:
        m, n = list(map(int, input().split()))
        matrix = []
        for _ in range(m):
            l = list(map(int, input().split()))
            matrix.append(l)
        res = []
        dfs(0, 0)
        for i, j in res:
            print(f'({i},{j})')
    except:
        break

全部评论

相关推荐

投递大华股份等公司10个岗位
点赞 评论 收藏
分享
杨柳哥:这不是普通人,那这个钱的是天才
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务