题解 | #迷宫问题#

迷宫问题

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

    deals = [
        lambda x, y: [x + 1, y],  # 向下
        lambda x, y: [x, y + 1],  # 向右
        lambda x, y: [x - 1, y],  # 向上
        lambda x, y: [x, y - 1],  # 向左
    ]
    path = [start]  # 已走路径
    maze[0][0] = 2  # 走过的坐标标记为2
    while len(path) > 0:
        cur_node = path[-1]
        if cur_node == end:
            break
        for deal in deals:
            next_node = deal(cur_node[0], cur_node[1])
            if 0 <= next_node[0] <= end[0] and 0 <= next_node[1] <= end[1]:
                if maze[next_node[0]][next_node[1]] == 0:  # 可以走的坐标
                    path.append(next_node)  # 添加到已走路径
                    maze[next_node[0]][next_node[1]] = 2  # 走过的坐标标记为2
                    break
        else:
            path.pop()
    return path


while True:
    try:
        n, m = map(int, input().split())
        ipt_maze = []
        for i in range(n):
            ipt_maze.append(list(map(int, input().split())))
        final_path = deal_maze([0, 0], [n - 1, m - 1], ipt_maze)
        for i in final_path:
            print(f"({i[0]},{i[1]})")
    except:
        break

全部评论
第一行是少了一行函数的def吗
点赞 回复 分享
发布于 2022-08-10 04:14

相关推荐

06-26 10:08
门头沟学院 C++
北京Golang实习,一个月4700,吃住都不报,公司位置在海淀。请问友友怎么看呢?如果要租房的话有什么建议吗
码农索隆:租房肯定是合租了,剩下的钱,差不多够正常吃饭了,看看能不能学到东西吧
点赞 评论 收藏
分享
迟缓的斜杠青年巴比Q...:简历被投过的公司卖出去了,我前两天遇到过更离谱的,打电话来问我有没有意向报班学Java学习,服了,还拿我学校一个学长在他们那报班学了之后干了华为OD当招牌
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-01 10:56
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

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