问题标题: 酷町堂:3340 组合数哪位大佬来啊!

0
0
已解决
张帆
张帆
中级天翼
中级天翼

原本开心的看着题,嗯,会做(深搜),但一看到这句话我慒了:

现要求你不用递归的方法输出所有组合。

我虽然用递归AC了,但哪位大佬能跟我讲一下这道题的正解(不用递归)。

题目描述 Description
现在要你从1至n中取出r个数组成一个新的数字,现要求你不用递归的方法输出所有组合。

例如n=5,r=3,所有组合为:
123,124,125,134,135,145,234,235,245,345

输入描述 Input Description
一行两个自然数n,r。

输出描述 Output Description
所有的组合,每一个组合占一行且其中的元素按由小到大的顺序排列,每个元素占三个字符的位置,所有的组合也按字典顺序。

注意哦!输出时,每个数字需要3个场宽,pascal可以这样:write(ans:3);

样例输入 Sample Input
5 3
样例输出 Sample Output
1  2  3
  1  2  4
  1  2  5
  1  3  4
  1  3  5
  1  4  5
  2  3  4
  2  3  5
  2  4  5
  3  4  5
数据范围及提示 Data Size & Hint
1<n<21,1≤r≤n

 

20豆!

张帆在2021-01-05 20:14:48追加了内容

ding

哪位大佬来啊!

 

@曹灿阳 

@周明轩 

 

 

张帆在2021-01-05 20:40:51追加了内容

我ding

张帆在2021-01-07 11:56:23追加了内容

ding


0
已采纳
黄依成
黄依成
中级天翼
中级天翼

STL大法next_permutation

不知道行不行

黄依成在2021-01-07 12:33:07追加了内容

就是algorithm里的next_permutation函数,意思是下一个排列。

next_permutation(a+1,a+n+1);

上面的代码就是求a数组的下一个排列

输入1 2 3

输出就是1 3 2

黄依成在2021-01-09 17:26:38追加了内容

不知道诶

可以百度一下

黄依成在2021-01-09 17:26:45追加了内容

不知道诶

可以百度一下

0
0
0
0
我要回答