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

dfs:组合型枚举

题目:P10448 组合型枚举 - 洛谷

题意:从n个整数中选出m个数,输出所有可能方案

先画决策树,根据决策树写递归。

假设从4个数中选出3个数,相当于C43

首先,确定递归的结束条件:当vector.size() == m时,打印内容,return。

在上一道题"枚举子集",我们是用 pos > n 作为结束条件,这道题不能用pos > n,在这道题,pos不能代表元素个数。

在写决策树的过程中,我们可以发现一个规律。上一个递归填补的数字一定小于下一个递归的数字。

  1. 上一个递归的数字是1,下一个递归数字可以是2,3,4。
  2. 上一个递归的数字是2,下一个递归数字可以是3,4。
  3. 上一个递归的数字是3,下一个递归的数字只能是4。。。

针对这个规律,我们可以在递归内使用for循环,保证不回退:

	for (int i = pos; i <= n; i++){a.push_back(i);dfs(i+1);a.pop_back();}

总代码:

#include <iostream>
#include <vector>using namespace std;
int n, m;
vector<int> a;void dfs(int pos)
{if (a.size() == m){for (auto x : a) {cout << x << " ";}cout << endl;return;}for (int i = pos; i <= n; i++){a.push_back(i);dfs(i + 1);a.pop_back(); }
}int main()
{cin >> n >> m;dfs(1);return 0;
}
http://www.dtcms.com/a/529450.html

相关文章:

  • ​​医院慢病管理软件系统需求规格说明书​(基于PDOA方法·需求定义阶段成果)​​
  • pyhton做网站wordpress 摄影 中文
  • WNZ-1000微机控制电子式扭转试验机(NJ100B)
  • wordpress做小程序商城林芝seo
  • 22000mAh+1000流明露营灯+6400W夜视,AORO A26智能三防手机配置拉满
  • 百度文库首页官网怎么做网站站内优化
  • 网站建设语言都有什么软件一个公司能备案几个网站
  • 福建省建设安全监督站的网站wordpress社交分享非插件
  • 东莞网站制作购买公司网站建设设计公司排名
  • 好的网站开发自学网站电子商务网站建设可用性
  • wordpress主题太臃肿南京网站优化建站
  • Rust:语句、表达式、类型
  • 【开题答辩全过程】以 毕业设计管理系统为例,包含答辩的问题和答案
  • 西部数码网站助手求一个手机能看的2022
  • 摄影网站哪个最好网站策划的工作要求
  • 2025-10-24 hetao1733837的刷题记录
  • 定西市建设网站费用重庆装修网站建设
  • Selenium工具使用Python实现下拉框定位操作
  • wordpress 电影网站网站建设课程报告
  • SpringBoot集成Elasticsearch | Elasticsearch 8.x专属Java Client
  • 网站开发项目经理工资珠海市城乡规划建设局网站
  • 深圳网站优化软件论坛模板建站
  • Jenkins从节点配置报错处理:从搭建到任务调度,参数详解与实战指南
  • 物联网多类型设备列表的智能化设计与实现
  • 物联网运维中的自适应容灾备份与快速恢复机制设计
  • 商丘住房和城乡建设厅网站wordpress去掉顶部工具栏
  • 保定网站模板建站网站销售都怎么做的
  • 黄冈网站建设效果中国十大mro电商企业
  • 太原中企动力网站建设国外数码印花图案设计网站
  • 小红书开放平台获取笔记评论API接口指南(2025年最新版)