#35330. 排列
排列
暂无测试数据。
大家知道,给出正整数 $n$,则 $1$ 到 $n$ 这 $n$ 个数可以构成 $n!$ 种排列,把这些排列按照从小到大的顺序(字典顺序)列出,如 $n=3$ 时,列出 $\text{1 2 3,1 3 2,2 1 3,2 3 1,3 1 2,3 2 1}$ 六个排列。
蒜头君给出某个排列,求出这个排列的下 $k$ 个排列,如果遇到最后一个排列,则下 $1$ 排列为第 $1$ 个排列,即排列 $1 2 3…n$。
比如:$n = 3$,$k=2$ 给出排列 $\text{2 3 1}$,则它的下 $1$ 个排列为 $\text{3 1 2}$,下 $2$ 个排列为 $\text{3 2 1}$,因此答案为 $\text{3 2 1}$。
输入格式
第一行是一个正整数 $m$,表示测试数据的个数,下面是 $m$ 组测试数据,每组测试数据第一行是 $2$ 个正整数 $n$( $1 \le n < 1024$) 和 $k(1 \le k \le 64)$,第二行有 $n$ 个正整数,是 $1, 2 … n$ 的一个排列。
输出格式
对于每组输入数据,输出一行,$n$ 个数,中间用空格隔开,表示输入排列的下 $k$ 个排列。
3
3 1
2 3 1
3 1
3 2 1
10 2
1 2 3 4 5 6 7 8 9 10
3 1 2
1 2 3
1 2 3 4 5 6 7 9 8 10