当前位置: 代码迷 >> 综合 >> 厦大 1395 组合
  详细解决方案

厦大 1395 组合

热度:21   发布时间:2023-12-13 23:34:22.0

给1到N,N个数,要你从中选取M个出来,请输出每一种的选取情况(根据序列字典序输出,即两个序列比大小,第一位小的小,若相等第二位小的小,若相等第三位小的小……)。

输入

输入一行,包括两个整数N, M。(2&lt;M&lt;N≤102 \lt M \lt N \le102<M<N≤10)

输出

输出若干行,每行表示一个组合方式,按字典序输出。

注意:每行末尾有空格

输入样例 1

4 3

输出样例 1

1 2 3 
1 2 4 
1 3 4 
2 3 4 
#include <stdio.h>int n,m,a[11];void zhs(int cur, int pre)
{for(int i=pre; i<=n; i++){a[cur] = i;if(cur<m-1) zhs(cur+1,i+1);else{for(int i=0; i<m; i++)printf("%d ",a[i]);puts("");}}
}int main()
{scanf("%d %d",&n,&m);zhs(0,1);}