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

93. 递归实现组合型枚举

93. 递归实现组合型枚举

if (sum + n - u < m) return;

如果当前记录的数据 加上 后面的所有可以被选的数据 时无法达到要求时终止

state记录了哪些数据被选,哪些没被选的

state | 1 << u 选择当前的数据,比如0101 -> 10101

#include <iostream>
using namespace std;int n, m;
void dfs(int u, int sum, int state)
{if (sum + n - u < m) return;if (sum == m){for (int i = 0; i < n; i ++ )if (state >> i & 1) cout << i + 1 << " ";cout << endl;return;}dfs(u + 1, sum + 1, state | 1 << u);dfs(u + 1, sum, state);
}int main()
{cin >> n >> m;dfs(0, 0, 0);return 0;
}
http://www.zskr.cn/news/6964.html

相关文章:

  • 9.17支配对问题专题总结
  • Xじゃないか
  • XXL-JOB(2)
  • AT_agc058_b [AGC058B] Adjacent Chmax
  • 2025.9.17
  • mysql库缺失
  • 【学习笔记】拉格朗日插值
  • 一种基于动作指令交互的动态活体检测技术,提升人脸识别安全性
  • 网易伏羲:当算法遇见社交,解码游戏世界的连接密码
  • 在 CentOS 7 上安装Nginx和配置http代理
  • 在AI技术快速实现创想的时代,挖掘新需求成为核心竞争力——某知名DevOps学习平台需求洞察
  • C语言基础
  • 深入 RocketMQ 核心源码:从环境搭建到高可用设计的全方位解析
  • 25上第一周
  • 梯度下降算法
  • 车牌识别
  • 告别人工标注瓶颈!Reward-RAG:用 CriticGPT 打造更懂人类偏好的检索模型
  • 9.17 CSP-S模拟23/多校A层冲刺NOIP2024模拟赛19 改题记录
  • 在AI技术快速实现创想的时代,挖掘前端学习新需求成为关键——某知名编程教育平台需求洞察
  • UML 5章
  • kylin SP3安装mysql 8.4.5
  • Unity中是否可以禁用GC
  • 开源软件图形库
  • 使用GitHub Dork快速发现漏洞:我的第一个Bugcrowd漏洞挖掘实战
  • 代码随想录算法训练营第一天 | 704. 二分查找、27. 移除元素、209.长度最小的子数组
  • 从 MLPerf Storage v2.0 看 AI 训练中的存储性能与扩展能力
  • Revit二次开发 钢筋生成API(二)
  • Uri uri = new Uri(Path); 这行代码的作用
  • new 和make 切片和map
  • Git 常用操作指南