#888. 组合的输出

组合的输出

题目描述

排列与组合是常用的数学方法。

组合是指从 nn 个元素中选出 rr 个元素,不考虑选取顺序,其中 rnr \le n

这里将这 nn 个元素看作自然数:

1,2,,n1,2,\ldots,n

现在请输出从 11nn 中选取 rr 个数得到的所有组合。

每个组合中的数字必须按照从小到大的顺序排列,所有组合之间按照字典序输出。

例如,当 n=5n=5r=3r=3 时,所有组合为:

123,124,125,134,135,145,234,235,245,345123,124,125,134,135,145,234,235,245,345

输入格式

输入一行,包含两个整数 nnrr

输出格式

输出所有组合,每个组合占一行。

每个组合中的数字按照从小到大的顺序排列,所有组合按照字典序输出。

每个数字占 33 个字符宽度。

样例

5 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

数据范围

1<n<211<n<21

0rn0 \le r \le n

来源:洛谷P1157