博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
组合问题
阅读量:5279 次
发布时间:2019-06-14

本文共 1065 字,大约阅读时间需要 3 分钟。

题目描述

从 1~n 这 n 个整数中随机选出 m 个,输出所有可能的选择方案。n>0,  0<=m<=n,  n+(n-m)<=25。 

 

输入

一个整数n。

 

输出

按照从小到大的顺序输出所有方案,每行1个。
首先,同一行内的数升序排列,相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面(例如1 3 9 12排在1 3 10 11前面)。

 

样例输入

5 3

 

样例输出

1 2 31 2 41 2 51 3 41 3 51 4 52 3 42 3 52 4 53 4 5 提示 m=0的时候一定要特判,不然必WA;
#include
using namespace std;int a[100];void f(int i,int n,int m,vector
s){ int j,temp; for(; i
1) f(i+1,n,m-1,s); else { for(j=0; j
>n>>m; if(m==0) cout<
s; f(0,n,m,s); } return 0;}
View Code
#include 
#define ll long long#define met(a) memset(a,0,sizeof(a))#define inf 0x3f3f3f3fusing namespace std;const int mod=1e9+7;int m,n,r,a[25];void dfs(int x){ int i,j; for(i=a[x-1]+1; i<=n; i++) { a[x]=i; if(x==r) { for(j=1; j<=r; j++) cout<
<
>n>>r; dfs(1); return 0;}
dfs

 

转载于:https://www.cnblogs.com/nublity/p/9269701.html

你可能感兴趣的文章
Binary String Matching(kmp+str)
查看>>
题解 P4092 【[HEOI2016/TJOI2016]树】
查看>>
bzoj2142: 礼物
查看>>
redis学习笔记(二)
查看>>
luogu题解 P1099 【树网的核】树的直径变式+数据结构维护
查看>>
[持续更新]一些结论与技巧
查看>>
Java中的Random()函数
查看>>
多线程NSThread基本用法
查看>>
jstl-随机数-借用jsp嵌入的代码
查看>>
云变换算法
查看>>
C#创建socket服务
查看>>
小智慧38
查看>>
【译】x86程序员手册01
查看>>
CDI server decorstors intercepters scope EL eventmodel
查看>>
软件测试homework1
查看>>
第六次课程作业:随笔
查看>>
行列式,线性变换,变换,雅克比行列式,二次型
查看>>
文件写入和读取
查看>>
物理学中的几何方法笔记
查看>>
dtree实现动态加载树形菜单,动态插入树形菜单
查看>>