回溯(python)

模板:

def dfs(参数):

if(停止条件):

收集答案

退出

for(集合):

处理节点

递归函数

回溯

复制代码
#从1-n里面,找出长度为k=2的所有组合
#  1 2 3 4    长度为2
#  [[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]]
def combine(n,k):
    res=[]
    path=[]
    def dfs(start):
        #递归出口,达到长度k就收集答案
        if len(path)==k:
            res.append(path[:])
            return
        
        #单层递归逻辑
        for i in range(start,n-(k-len(path))+1):  #用start控制数的选取,只能往前选
            path.append(i+1)  #选择该数
            dfs(i+1)  #进入下一层
            path.pop()   #回溯,回到上一层

    dfs(0)
    print(res)
def main():
    n=int(input())
    k=int(input())
    combine(n,k)
if __name__=="__main__":
    main()
相关推荐
麒麟水手15 小时前
麒麟系统部署检查清单:上线前30分钟,逐项自查这4类问题
python
用户03321266636716 小时前
使用 Python 在 PDF 中添加或删除数字签名
python
代码方舟17 小时前
零信任架构实战:基于天远柠檬查出险-登记证API构建自动化车辆履约评估网关
人工智能·python·架构·自动化
估值探索者17 小时前
【Python实时盯盘与预警 #08】成交额突然放大2倍?Python窗口比较抓异动
java·开发语言·python
yk 坤帝17 小时前
用Python实现发送《自动周报》实战脚本
开发语言·python
一点一木18 小时前
Seed Evolving 深度测评:我用它造了一个 AI 出题工具
人工智能·python·github
阿童木写作19 小时前
跨境卖家效率翻倍,跨马翻译批量图片翻译工具实测
人工智能·python
鹿鹿学长19 小时前
2026国赛报名季:从组委会第一次通知到各校8月报名通知,赛程报名评奖官方口径一次讲清
python·自动化
C++、Java和Python的菜鸟19 小时前
第15章 项目部署(Docker)
python
风之清扬19 小时前
AI agent学习之一基础知识
人工智能·python·学习