题解 | #迷宫问题#

迷宫问题

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

n, m = map(int, input().split())
maze = [input().split() for _ in range(n)]

def dfs(i, j, route=[(0, 0)]):
    if i == n - 1 and j == m - 1:
        for pos in route:
            print("(" + str(pos[0]) + "," + str(pos[1]) + ")")
    if j + 1 < m and maze[i][j + 1] == "0":
        if (i, j + 1) not in route:
            route.append((i, j + 1))
            dfs(i, j + 1, route)
            del route[-1]
    if j - 1 >= 0 and maze[i][j - 1] == "0":
        if (i, j - 1) not in route:
            route.append((i, j - 1))
            dfs(i, j - 1, route)
            del route[-1]
    if i + 1 < n and maze[i + 1][j] == "0":
        if (i + 1, j) not in route:
            route.append((i + 1, j))
            dfs(i + 1, j, route)
            del route[-1]
    if i - 1 >= 0 and maze[i - 1][j] == "0":
        if (i - 1, j) not in route:
            route.append((i - 1, j))
            dfs(i - 1, j, route)
            del route[-1]
dfs(0, 0)

全部评论

相关推荐

07-23 11:37
延安大学 C++
绷不住了,晚上十点发拒信,是还在加班吗这样一想挂了好像也没什么不好
码农索隆:这个都是真人发嘛,会用到机器人定时发嘛
点赞 评论 收藏
分享
水墨不写bug:疑似没有上过大学
点赞 评论 收藏
分享
06-23 11:43
门头沟学院 Java
allin校招的烤冷...:我靠,今天中午我也是这个hr隔一个星期发消息给我。问的问题还是一模一样的😅
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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