组合数的简单求法(dfs)
组合数的具体应用可以参考这个例子:https://www.cnblogs.com/FengZeng666/p/10496223.html
下面这段代码可以作为求组合数的固定套路或者公式:
1 #include<iostream> 2 #include<cstring> 3 4 using namespace std; 5 6 int sum = 0; 7 int a[1000]; 8 9 void dfs(int step, int n, int m) //从n个数里面选出m个,存入一维数组a 10 { 11 if (step == (m+1)) 12 { 13 ++sum; //组合总数 14 for(int i = 1; i <= m; ++i) 15 cout << a[i] << " " ; //所有组合 16 cout << endl; 17 return; 18 } 19 else 20 { 21 for (int i = 1; i <= n; i++) 22 { 23 //保证取得的这5个数大小是递增的,避免重复取 24 if (i > a[step - 1]) 25 { 26 a[step] = i; //使用数组a保存已经取出的数,下标0不用 27 dfs(step + 1, n, m); 28 } 29 } 30 } 31 } 32 33 int main() 34 { 35 memset(a, 0, sizeof(a)); 36 cout << "所有组合为:" << endl; 37 dfs(1, 6, 2); 38 cout << endl; 39 cout << "共有" << sum << "种组合" << endl; 40 41 }
转载于:https://www.cnblogs.com/FengZeng666/p/10496287.html
组合数的简单求法(dfs)相关推荐
- POJ 1321-棋盘问题-简单搜索DFS
POJ 1321-棋盘问题-简单搜索DFS Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编 ...
- 三阶齐次线性方程求通解_三阶常系数线性微分方程特解的简单求法
三阶常系数线性微分方程特解的简单求法 周坚 ; 赵士银 [摘 要] 针对自由项为几类常见类型的三阶常系数非齐次线性微分方程 , 得到了求 此类微分方程的特解公式 , 使求三阶常系数非齐次线性微分方程的 ...
- 【DFS】先简单说说DFS分布式存储系统和fastDFS
先简单说说DFS分布式存储系统和fastDFS 文章目录 先简单说说DFS分布式存储系统和fastDFS DFS分布式存储系统是什么? 传统方式弊端 FastDFS简介 FastDFS整体架构 DFS ...
- 逆元的定义用处以及简单求法
一,逆元的定义 当 ax≡1(modb), x即为 a 在mod b 意义下的逆元. 逆元的数学符号是 inv ,a 在mod b 意义下的逆元记作 inv(a,b).注意不要写反了. 简单来说逆元就 ...
- 计蒜客-T1284 夫子云游(简单搜索dfs)
父子云游 题目链接:https://vjudge.net/problem/%E8%AE%A1%E8%92%9C%E5%AE%A2-T1284 题目描述 改编自猫腻所著的同名小说<将夜>目前 ...
- 棋盘问题 简单搜索DFS
Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子 ...
- HDU 1010题解这是一道简单的DFS加回溯题,看懂后就会对递归和回溯有较深刻的理解。...
1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 char s[7][7]; //将变量 ...
- P1460 健康的荷斯坦奶牛 Healthy Holsteins (简单的dfs)
题目描述 农民JOHN以拥有世界上最健康的奶牛为傲.他知道每种饲料中所包含的牛所需的最低的维他命量是多少.请你帮助农夫喂养他的牛,以保持它们的健康,使喂给牛的饲料的种数最少. 给出牛所需的最低的维他命 ...
- poj 1426 Find The Multiple (简单搜索dfs)
题目: Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal ...
最新文章
- springboot 直接转发调用_springboot-过滤器的页面跳转【重定向与请求转发】-异常报错...
- Surf特征提取分析
- Java中文件的创建
- java中_null和“”的区别详解
- sql取得某日期内的数据
- 列举python的数据类型_Python的数据类型
- [转]MIDI常识20条
- selenium操作webdriver(一)
- java补码运算代码_计算机原码、补码、反码与java移位运算符(//)
- 成都盛铭轩:电商图片必备哪些信息
- Unity-存档与读档
- 手机摄像头作为电脑摄像头来使用
- 知识图谱认知智能理论与实战----------第二章 知识图谱模式设计
- 常见电脑硬件故障有哪些?如何解决?~~~主板故障
- Lua中获取指定月份总天数
- 云原生是什么?细数云原生的5大特征
- 菜刀如何连接mysql_中国菜刀之终端操作及数据库管理
- 华为2288H V5服务器RAID配置
- 关于git提交报错Please tell me who you are.
- 百度浏览器android,百度浏览器app下载
热门文章
- host文件修改后无法保存的问题
- list循环添加数据_List 去除重复数据的 5 种正确姿势!你知道几种?
- arcgis栅格计算器python教程_ArcGIS栅格计算器
- 如何有效提升网站转化率?从四个方面着手分析!
- 模拟海_浙江平湖“海水稻”丰收的背后,有这家来自上海企业的科技“秘方”...
- 创建linux目录,Linux目录的创建方法
- php json字符串返回false,php – json_encode()返回false
- 导出jar插件_利用类加载器解决不兼容的Jar包共存的问题
- pip包重新安装mysql_Ubuntu pip 安装 mysql-python包出错
- 写入缓存策略无法更改_【第1747期】webpack 5 之持久化缓存指南