题解 | #迷宫问题#

迷宫问题

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

递归

def func(map_, n, m, x, y, x1, y1):
    """
    n, x, x1: 行
    m, y, y1: 列
    """
    if x > n-1 or y > m-1 or x < 0 or y < 0 or map_[x][y] == 1:
        return False
    if x == n-1 and y == m-1:
        return [(x, y)]

    new_steps = [(x+1, y), (x-1, y), (x, y+1), (x, y-1)]
    if (x1, y1) in new_steps:
        new_steps.remove((x1, y1))

    steps = [(x, y)]
    for new_step in new_steps:
        next_steps = func(map_, n, m, new_step[0], new_step[1], x, y)
        if next_steps != False:
            steps.extend(next_steps)
            return steps
    return False


a = input().split()
n1 = int(a[0])
m1 = int(a[1])

map_ = []
for i in range(n1):
    map_.append(list(map(int, input().split())))

steps = func(map_, n1, m1, 0, 0, -1, 0)
for step in steps:
    print("({},{})".format(step[0], step[1]))

全部评论

相关推荐

程序员饺子:正常 我沟通了200多个 15个要简历 面试2个 全投的成都的小厂。很多看我是27直接不会了😅
点赞 评论 收藏
分享
叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 17:13
想去,但是听说加班强度实在难崩,所以拒绝了,现在有点心梗对面hr感觉也是实习生,打电话的时候怪紧张的,但是感觉人很好嘞
水中水之下水道的鼠鼠:哥们这不先去体验一下,不行再跑呗,大不了混个实习经历(有更好的转正offer就当我没说)
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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