当前位置: 首页 > article >正文

11.12.2024刷华为OD-集合的使用,递归回溯的使用

文章目录

  • HJ41 集合的使用
  • HJ43 迷宫问题--递归回溯的使用
  • 语法知识记录

HJ41 集合的使用

链接
代码

HJ43 迷宫问题–递归回溯的使用

在这里插入图片描述

def dfs(x, y, path, grid):
    n = len(grid)
    m = len(grid[0])
    if x == n-1 and y == m-1:
        for cor in path:
            print("({},{})".format(cor[0],cor[1]))




    # 判断条件:1不能越界 2不能撞墙 3走过的不能走
    if 0 <= x+1 < n and 0 <= y < m and grid[x+1][y] != 1:
        path.append((x+1, y))
        grid[x+1][y] = 1
        dfs(x+1, y, path, grid)
        path.pop()
        grid[x + 1][y] = 0
    if 0 <= x-1 < n and 0 <= y < m and grid[x-1][y] != 1:
        path.append((x-1, y))
        grid[x-1][y] = 1
        dfs(x-1, y, path, grid)
        path.pop()
        grid[x - 1][y] = 0
    if 0 <= x < n and 0 <= y+1 < m and grid[x][y+1] != 1:
        path.append((x, y+1))
        grid[x][y+1] = 1
        dfs(x, y+1, path, grid)
        path.pop()
        grid[x][y + 1] = 0
    if 0 <= x < n and 0 <= y-1 < m and grid[x][y-1] != 1:
        path.append((x, y-1))
        grid[x][y-1] = 1
        dfs(x, y-1, path, grid)
        path.pop()
        grid[x][y - 1] = 0






if __name__ == "__main__":


    n, m = map(int, input().split())
    grid = []
    for _ in range(n):
        grid.append(list(map(int, input().split())))
    # print(grid)
    path = [(0, 0)]
    grid[0][0] = 1
    dfs(0,0,path, grid)

语法知识记录


http://www.kler.cn/a/399753.html

相关文章:

  • 【青牛科技】D2030 14W 高保真音频放大电路介绍和应用
  • 使用Mac下载MySQL修改密码
  • 【C++】了解map和set及平衡二叉树和红黑树的原理
  • 使用docker快速部署Nginx、Redis、MySQL、Tomcat以及制作镜像
  • ArcGIS Pro的arpx项目在ArcGIS Server中发布要素服务(FeatureServer)
  • ue中使用webui有效果白色拖动条 有白边
  • 【C++】构造与析构函数
  • 网络安全之国际主流网络安全架构模型
  • 已有docker增加端口号,不用重新创建Docker
  • 删除k8s 或者docker运行失败的脚本
  • 原生微信小程序做视频和图片上传wx.chooseMedia({})
  • Prometheus结合K8s(一)搭建
  • three.js 对 模型使用 视频进行贴图修改材质
  • 无人机在森林中的应用!
  • x-cmd pkg | helix - 用 Rust 打造的文本编辑器,内置 LSP 和语法高亮,兼容 Vim 用户习惯
  • 丹摩征文活动 | CogVideoX-2b实战部署:简化文字生成视频步骤
  • 根据 Maven 的不同 profiles 来改变 Spring Boot 应用程序的配置
  • 如何使用PCL处理ROS Bag文件中的点云数据并重新保存 ubuntu20.04
  • D3基础:绘制圆形、椭圆形、多边形、线、路径、矩形
  • Windows文件资源管理器增强工具