题解 | #迷宫问题#

迷宫问题

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

膜拜一位大神:ID叫“不太灵光的程序员”,思路是他的,我就是自己又写了一遍,缩小了一下行数。

def findway(x,y,path):
    if x == m-1 and y == n-1:
        [print(f'({l[0]},{l[1]})') for l in path]
    if x+1 <= m-1 and (x+1,y) not in path and maze[x+1][y] == '0':
        findway(x+1, y, path + [(x+1, y)])
    if y+1 <= n-1 and (x,y+1) not in path and maze[x][y+1] == '0':
        findway(x, y+1, path + [(x, y+1)])
    if x-1 >= 0 and (x-1,y) not in path and maze[x-1][y] == '0':
        findway(x-1, y, path + [(x-1, y)])
    if y-1 >= 0 and (x,y-1) not in path and maze[x][y-1] == '0':
        findway(x, y-1, path + [(x, y-1)])
while 1:
    try:
        m, n = map(int, input().split())
        maze = [input().split() for _ in range(m)]
        findway(0,0,[(0,0)])
    except:
        break
全部评论
非常赞的解题方法,非常适合我这种脑子转不过来的孩子食用(笑哭)。 只不过坐标判断的时候有点不一样,我这里y+1
点赞 回复 分享
发布于 04-05 17:46 广东

相关推荐

11-08 13:58
门头沟学院 Java
程序员小白条:竟然是蓝桥杯人才doge,还要花钱申领的offer,这么好的公司哪里去找
点赞 评论 收藏
分享
10-30 23:23
已编辑
中山大学 Web前端
去B座二楼砸水泥地:这无论是个人素质还是专业素质都👇拉满了吧
点赞 评论 收藏
分享
17 8 评论
分享
牛客网
牛客企业服务