题解 | #迷宫问题#

迷宫问题

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

row, column = map(int, input().split())
puzzle = []
for i in range(row):
    puzzle.append(list(map(int, input().split())))


def backtrack(r, c, steps):
    if r == row - 1 and c == column - 1:
        for line in steps + [(r, c)]:
            print(f'({line[0]},{line[1]})')
    else:
        direction = [(r - 1, c), (r + 1, c), (r, c - 1), (r, c + 1)]
        for d in direction:
            if 0 <= d[0] < row and 0 <= d[1] < column:
                if puzzle[d[0]][d[1]] == 0 and d not in steps:
                    backtrack(d[0], d[1], steps + [(r, c)])


backtrack(0, 0, [])

简化了一下代码,各位大佬看看有没有什么问题

全部评论

相关推荐

08-23 20:17
四川大学 C++
xxxzsfa:技术栈可以参考我这个给写,把知识点写出来起码能让面试官知道你是知道这个点的,不会的知识点可以不写,简历上写了但又答不上来就很尴尬了,可以给技术栈中的知识点和项目中的难点亮点加粗,学历不错,肯定会有大厂面的,刚开始可以先投中小厂练手,拿个offer保底再去面大厂,秋招可以正式和实习一起找,找工作是个需要长期坚持的过程,加油查看图片
点赞 评论 收藏
分享
真的很糟糕:不一定是你的问题,当然你也可以做的更好一些,继续投相信自己一定会有的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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