题解 | #迷宫问题#

迷宫问题

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

def dfs(i,j,path):
    if i+1 < m and maze[i+1][j] == 0 and ((i+1,j) not in path ):
        dfs(i+1,j,path+[(i+1,j)])
    if i-1 >= 0 and maze[i-1][j] == 0 and ((i-1,j) not in path):
        dfs(i-1,j,path+ [(i-1,j)])
    if j-1 >= 0 and maze[i][j-1] == 0 and ((i,j-1) not in path):
        dfs(i,j-1,path+ [(i,j-1)])
    if j+1 < n  and maze[i][j+1] == 0 and ((i,j+1) not in path):
        dfs(i,j+1,path + [(i,j+1)])

    if i == m-1 and j == n-1:
        for i in range(len(path)):
            print(f'({path[i][0]},{path[i][1]})')     

m, n = list(map(int,input().strip().split()))

maze = []
for i in range(m):
    maze.append(list(map(int,input().strip().split())))

dfs(0,0,[(0,0)])



全部评论

相关推荐

09-29 16:59
已编辑
门头沟学院 Java
牛客96609213...:疯狂背刺,之前还明确设置截止日期,还有笔试,现在一帮人卡在复筛,他反而一边开启扩招,还给扩招的免笔试,真服了,你好歹先把复筛中的给处理了再说
投递大疆等公司10个岗位
点赞 评论 收藏
分享
在看牛客的社畜很积极:身高体重那一行信息去掉,学校那一行的信息放上面,找半天都没找到你是哪个学校什么专业的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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