大家知道,给出正整数n,从1到n 这n 个数可以构成n!种排列。例如n=3 时,有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。 例如序列为2 3 1,k = 2时,它的下1个排列为3 1 2,下2个排列为3 2 1,因此答案为3 2 1。
输入描述:
输入包含多组数据。每组数据第一行包含两个正整数n(1≤n≤1024)和k(1≤k≤64)。紧接着第二行有n 个正整数,1到n。表示初始排列情况。
输出描述:
对应每一组输入,输出第k 个排列。
示例1
输入
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
加载中...