信息学奥赛一本通 T1317 【例5.2】组合的输出

信息学奥赛一本通 T1317 【例5.2】组合的输出

题目描述

排列与组合是常用的数学方法,其中组合就是从\(n\)个元素中抽出\(r\)个元素(不分顺序且\(r≤n\)),我们可以简单地将\(n\)个元素理解为自然数\(1,2,…,n\),从中任取\(r\)个数。

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

例如\(n=5\),\(r=3\),所有组合为:

\(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\)

输入格式

一行两个自然数\(n、r\)。

输出格式

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

样例 #1

样例输入 #1

5 3

样例输出 #1

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

提示

\(1<n<21\) , \(1≤r≤n\)

本题数据全部使用捆绑测试,数据随机

Subtask #0 : 30分

Subtask #1 : 30分

Subtask #2 : 40分

信息

ID
1016
难度
9
分类
搜索 点击显示
标签
(无)
递交数
1
已通过
1
通过率
100%
上传者

相关

在下列训练计划中:

“你今天AC了吗”团队原创