组合数
来源:互联网 发布:python google earth 编辑:程序博客网 时间:2024/05/18 11:47
#include<iostream>#include<cstring>using namespace std;int m, n;int a[15];bool vis[15];void dfs(int i,int step){ if(step == n+1) { for(int j=1; j<=step-1; j++) cout << a[j]; cout << endl; return; } for(int k=m; k>=1; k--) { if(k<a[step-1] && !vis[k]) { a[step] = k; vis[k] = true; dfs(i-1, step+1); a[step] = m; vis[k] = false; } }}int main(){ while(cin >> m >> n) { memset(vis, false, sizeof(vis)); memset(a, m, sizeof(a)); for(int i=1; i<=m; i++) { a[i] = i; } dfs(m,1); } return 0;}
#include <iostream>#include<cstring>using namespace std;int m, n;int k = 100;int a[15];bool vis[15];void dfs(int x){ if(x == n+1)///当搜到第4个的时候要退出了 { for(int j=1; j<=n; j++)///输出选好的三个数 cout << a[j]; cout << endl; return; } for(int i=m; i>=1; i--)///从m开始往回找 { if(!vis[i] && i<k) /// 没访问过 并且小于a[x] { a[x] = i; k = i; vis[i] = true; dfs(x+1); k = 100; vis[i] = false; } }}int main(){ while(cin >> m >> n) {/// 5 3 memset(vis, false, sizeof(vis)); for(int i=1; i<=10; i++) a[i] = i; dfs(1); } return 0;}5 3
543
542
541
532
531
521
432
431
421
321
0 0
- 组合数
- 组合数
- 组合数
- 组合数
- 组合数
- 组合数
- 组合数
- 组合数
- 组合数
- 组合数
- 组合数
- 组合数
- 组合数
- 组合数
- 组合数
- 组合数
- 组合数
- 组合数
- VS2015 scanf() scanf_s
- UVa 572 Oil Deposits
- Maven3 --- Eclipse集成Maven
- 九度 1010
- CentOS运行C++出现内存错误——double free or coruption
- 组合数
- 优先队列专题 poj 2431 2442 3190 1442 3614
- WHOJ 1606 - Funny Sheep【水】
- 抽奖系统数据库设计
- 使用Google浏览器必备的插件
- 虚拟机Vmware上安装Ubuntu操作系统,如何配置Vmware tools
- 欢迎使用CSDN-markdown编辑器
- 神经单元
- myeclipse如何修改Web项目名称