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

文章目录

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

HJ41 集合的使用

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

python 复制代码
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)

语法知识记录

相关推荐
有被蠢哭到30 分钟前
Python连接Mysql、Postgre、ClickHouse、Redis常用库及封装方法
redis·python·mysql·clickhouse·postgresql
CrazyCosin35 分钟前
resnet50,clip,Faiss+Flask简易图文搜索服务
python·flask·faiss·clip·resnet50
宇宙大豹发1 小时前
【Java豆瓣电影爬虫】——抓取电影详情和电影短评数据 -
java·开发语言·数据库·爬虫·python·pycharm·python入门
随心............1 小时前
Python蓝桥杯刷题1
python·蓝桥杯
空城皆是旧梦1 小时前
python爬虫初体验(五)—— 边学边玩小游戏
开发语言·爬虫·python
江河湖海2 小时前
使用Python编写一个简单的网站爬虫,从网站上抓取新闻标题和链接。
开发语言·爬虫·python
和风3302 小时前
Python 人脸检测:使用 Dlib 和 OpenCV
python·opencv
m 哆哆.ღ2 小时前
【Python进阶】Python中的数据库交互:ORM技术与SQLAlchemy
数据库·python·交互
大脑经常闹风暴@小猿2 小时前
Django启用国际化支持(2)—实现界面内切换语言:activate()
后端·python·django
0号——开拓者2 小时前
Python函数——函数的传入参数
开发语言·python