nyoj组合数
来源:互联网 发布:java泛型类型擦除 编辑:程序博客网 时间:2024/06/14 01:11
算法:深搜
描述 找出从自然数1、2、... 、n(0<n<10)中任取r(0<r<=n)个数的所有组合。
输入输入n、r。输出按特定顺序输出所有组合。
特定顺序:每一个组合中的值从大到小排列,组合之间按逆字典序排列。样例输入5 3
样例输出543
542
541
532
531
521
432
431
421
321
代码:
#include<iostream> #include <string> #include <cstring> #include <algorithm> using namespace std; int a[13],b[13],step; void dfs(int i,int cur,int deep) { for(int j=i;j>0;j--) { if(!a[j]) { if(b[cur-1]>j)//控制每位是递减地 { b[cur]=j; a[j]=1; if(cur==deep) { for(int k=1;k<=deep;k++) cout<<b[k]; cout<<endl; } dfs(i-1,cur+1,deep); a[j]=0; } }} } int main() { int n,m; b[0]=12; while(cin>>n>>m) { memset(a,0,sizeof(a)); dfs(n,1,m);}return 0; }
0 0
- NYOJ - 组合数
- 组合数 nyoj
- NYOJ 32 组合数
- NYOJ-组合数-32
- nyoj 32-组合数
- NYOJ,32,组合数
- nyoj 32 组合数
- nyoj-32-组合数
- nyoj 32 组合数
- NYOJ-32组合数
- nyoj 组合数
- nyoj 组合数
- nyoj 32 组合数
- NYOJ 32 组合数
- nyoj--32--组合数
- NYOJ 32 组合数
- NYOJ-组合数
- NYOJ-组合数-32
- Android View之--获取View大小时机
- 【Git】 添加 ssh key 到 git
- HDU 1016 Prime Ring Problem
- 23种设计模式(java)一
- 关于requirejs和grunt压缩合并是否矛盾
- nyoj组合数
- 结合网上内容,分享一个,java用for循环创建i个对象,的方法
- javax.mail 使用腾讯邮箱发送邮件 代码
- 66. Plus One
- Android 5.0学习之动画
- Java 回顾笔记_异常
- elcyCtsiLdekniL.141
- 利用HTML5开发Android笔记
- Oracle数据库Sql语句详解之SELECT查询基本语法