1062 Permute K times 2 | OJ题库 | CODE STUDY
CODE STUDY
Programming Practice Platform

欢迎回来

1062

Permute K times 2

Easy 时间限制 1000 ms 内存限制 262144 KB
置换环

题目详情

返回题库

题目描述

给你一个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。

测试样例

样例支持多行内容展示
样例1
输入
6 3
5 6 3 1 2 4
输出
6 1 3 2 4 5
样例2
输入
5 1000000000000000000
1 2 3 4 5
输出
1 2 3 4 5
样例3
输入
29 51912426
7 24 8 23 6 1 4 19 11 18 20 9 17 28 22 27 15 2 12 26 10 13 14 25 5 29 3 21 16
输出
18 23 16 24 21 10 2 27 19 7 12 8 13 5 15 26 17 4 3 9 1 22 25 14 28 11 29 6 20
editor.py

提交前会先自动运行样例。只有样例全部通过,才会进入后端正式判题。