题解 | #迷宫问题#

迷宫问题

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

python3题解

def bfs(maze, visited, path, i, j):
    directions = ((-1, 0), (1, 0), (0, -1), (0, 1))
    if i == m - 1 and j == n - 1:
        for p in path:
            print(f'({p[0]},{p[1]})')
        return
    for d in directions:
        iNew = i + d[0]
        jNew = j + d[1]
        if 0 <= iNew < m and 0 <= jNew < n and visited[iNew][jNew] == 0 \
            and maze[iNew][jNew] == 0:
            visited[iNew][jNew] = 1
            path.append((iNew,jNew))
            bfs(maze, visited, path, iNew, jNew)
            visited[iNew][jNew] = 0
            path.pop()
        
m, n = map(int, input().split())
maze = []
for _ in range(m):
    maze.append(list(map(int, input().split())))
visited = [[0] * n for _ in range(m)]
path = [(0,0)]
visited[0][0] = 1
bfs(maze, visited, path, 0, 0)

全部评论

相关推荐

Bug压路:老哥看得出来你是想多展示一些项目,但好像一般最多两个就够了😂页数一般一页,多的也就2页;这些项目应该是比较同质化的,和评论区其他大佬一样,我也觉得应该展示一些最拿手的(质量>数量)😁😁😁专业技能部分也可以稍微精简一些
点赞 评论 收藏
分享
过往烟沉:我说什么来着,java就业面就是广!
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务