题解 | #迷宫问题#

迷宫问题

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

def walk(i,j,pos=[(0,0)]):
    if j+1 < m and maze[i][j+1] == 0:
        if (i,j+1) not in pos:
            walk(i,j+1,pos+[(i,j+1)])
    if j-1 >= 0 and maze[i][j-1] == 0:
        if (i,j-1) not in pos:
            walk(i,j-1,pos+[(i,j-1)])
    if i+1 < n and maze[i+1][j] == 0:
        if (i+1,j) not in pos:
            walk(i+1,j,pos+[(i+1,j)])
    if i-1 >= 0 and maze[i-1][j] == 0:
        if (i-1,j) not in pos:
            walk(i-1,j,pos+[(i-1,j)])
    if (i,j) == (n-1,m-1):
        for k,v in pos:
            print('('+str(k)+','+str(v)+')')

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

walk(0,0)



全部评论

相关推荐

06-20 21:22
已编辑
门头沟学院 Java
纯真的河老师在喝茶:答应了就跑啊,实习随便跑啊,别被pua了,md就是找个廉价劳动力,还平稳过度正式工,到时候跟你说没转正
点赞 评论 收藏
分享
05-24 14:12
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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