#S7. 挑选元素进行排列

挑选元素进行排列

问题描述

给定一个整数 nn 和一个数组 a[1],a[2],...,a[n]a[1], a[2], ..., a[n],从中选择 k 个不同的元素,然后输出这些元素的 排列。输出的排列需要按照 下标字典序 排列,而不是元素本身的大小。

注意:

  • 输入的数组 aa 中的元素可以是不同的,可以是两位数等。
  • 输出的排列应该基于数组元素的 下标字典序 排序,而非元素值的大小。

输入格式

第一行包含两个整数 nnkk2kn92 \leq k \leq n \leq 9)。 第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n,表示给定的数组。

输出格式

输出从数组中选取的 kk 个元素组成的所有排列,每行一个排列,数字之间用空格隔开。排列按 下标字典序 输出。

3 2
3 4 7
3 4
3 7
4 3
4 7
7 3
7 4
4 3
10 30 14 40
10 30 14
10 30 40
10 14 30
10 14 40
10 40 30
10 40 14
30 10 14
30 10 40
30 14 10
30 14 40
30 40 10
30 40 14
14 10 30
14 10 40
14 30 10
14 30 40
14 40 10
14 40 30
40 10 30
40 10 14
40 30 10
40 30 14
40 14 10
40 14 30