题解 | #迷宫问题#

迷宫问题

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

LeetCode 面试题 08.02. 迷路的机器人 类似,这是增加上走和左走。

def dfs(i, j):
    if (i, j) in seen or i < 0 or i >= m or j < 0 or j >= n or mg[i][j]:
        return False
    seen.add((i, j))
#     path.append((i, j))
    path.append('({},{})'.format(i, j))
#     print(path)
    if (i, j) == (m-1, n-1) or dfs(i + 1, j) or dfs(i, j + 1) or dfs(i - 1, j) or dfs(i, j - 1):
        return True
    path.pop()
#     return False

while True:
    try:
        m, n = list(map(int, input().split()))
        mg = []
        for i in range(m):
            mg.append(list(map(int, input().split())))
#         print(mg)
        path = []
        seen = set()
        dfs(0, 0)
        for l in path:
            print(l)
    except:
        break
全部评论

相关推荐

11-11 16:40
已编辑
门头沟学院 人工智能
不知道怎么取名字_:这个有点不合理了,相当于已经毕业了,但还是没转正,这不就是白嫖
点赞 评论 收藏
分享
12-27 22:28
门头沟学院 Java
点赞 评论 收藏
分享
评论
4
1
分享

创作者周榜

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