题解 | #迷宫问题#

迷宫问题

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
点赞 回复 分享
发布于 2024-04-05 17:46 广东

相关推荐

01-14 15:08
东南大学 Java
点赞 评论 收藏
分享
评论
17
8
分享

创作者周榜

更多
牛客网
牛客企业服务