#ATabc377e. [ABC377E] Permute K times 2

[ABC377E] Permute K times 2

题目描述

给定一个 (1,2,,N)(1,2,\ldots,N) 的排列 P=(P1,P2,,PN)P=(P_1,P_2,\ldots,P_N)

你需要进行 KK 次如下操作:

  • 对于 i=1,2,,Ni=1,2,\ldots,N同时PiP_i 更新为 PPiP_{P_i}

请输出所有操作结束后的 PP

输入格式

输入以如下格式从标准输入读入:

NN KK P1P_1 P2P_2 \ldots PNP_N

输出格式

请输出所有操作结束后的 PP,即 P1,P2,,PNP_1,P_2,\ldots,P_N,用空格分隔。

样例 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

说明/提示

限制条件

  • 1N2×1051\leq N\leq2\times10^5
  • 1K10181\leq K\leq10^{18}
  • 1PiN (1iN)1\leq P_i\leq N\ (1\leq i\leq N)
  • PiPj (1i<jN)P_i\neq P_j\ (1\leq i<j\leq N)
  • 输入均为整数

样例解释 1

每次操作后,PP 的变化如下:

  • 11 次操作后,P=(2,4,3,5,6,1)P=(2,4,3,5,6,1)
  • 22 次操作后,P=(4,5,3,6,1,2)P=(4,5,3,6,1,2)
  • 33 次操作后,P=(6,1,3,2,4,5)P=(6,1,3,2,4,5)

因此,输出 6 1 3 2 4 5

样例解释 2

由于 Pi=iP_i=i,无论操作多少次,PP 都不会发生变化。

由 ChatGPT 4.1 翻译