题目详情
返回题库题目描述
给你一个1到N的排列组合P=($P_1,P_2,…,P_N$)。
下面的操作将进行K次:
- 对于i=1,2,…,N,同时更新$P_i$至$P_{P_i}$
所有操作完成后打印P。
输入描述
输入N和K,分别代表N个数的排列,执行操作的次数K
接下来一行,N个数$P_1,P_2,…,P_N$
数据范围:
- 1≤N≤2×$10^5$
- 1≤K≤$10^{18}$
- 1≤$P_i$≤N(1≤i≤N)
- $P_i$≠$P_j$(1≤i<j≤N)
输出描述
输出经过k操作以后得排列
提示
样例1:
每次操作后, P 都会发生如下变化:
第一次操作后, P 变为 (2,4,3,5,6,1) 。
第二次操作后, P 变为 (4,5,3,6,1,2) 。
第三次运算后, P 为 (6,1,3,2,4,5) 。
因此,打印 6 1 3 2 4 5。