U392533 置换的“循环节”
题目描述
$N$ 个数的全排列有
$N!$ 种,比如
5 个数的排列有 $5!=120$ 种。但是,前面的置换`( 3 4 5 2 1 )` 我们看到,置换
6次后,数列就还原了。
显然,置换 ( 3 4 5 2 1 ) 只能得到
6 个不同的排列,或称这个置换的周期是 6 。
当$N$比较大时,周期有可能会很大! 为了研究这个问题,数学家先简化问题:研究单独一个“数”的周期!
例如置换 ( 3 4 5 2 1 ) ,各个数的周期分别是:`3 2 3 2 3`。
原始数列 1 2 3 4 5
第1次置换后 5 4 1 2 3
第2次置换后 3 2 5 4 1
第3次置换后 1 4 3 2 5
第4次置换后 5 2 1 4 3
第5次置换后 3 4 5 2 1
第6次置换后 1 2 3 4 5
…
因此数字 $1$ 的位置变化为:
$1—3—5—1—3—5—1…$ 显然数字 $1$ 的周期就是 $3$。
数字 2 的位置变化为:
$2—4—2—4—2—4…$ 显然数字 $2$ 的周期就是 $2$。
数字 $3$的位置变化为:
$3—5—1—3—5—1—3…$ 显然数字 $3$的周期就是 $3$ 。
数字 $4$ 的位置变化为:
$4—2—4—2—4—2…$ 显然数字 $4$ 的周期就是
$2$ 。
…
结论:各个数的周期分别是:3 2 3 2 3。
输入格式
第一行: $1$ 个正整数:
$N$ ,范围在$[1,100]$,表示字符串长度。
第二行:有 $N$ 个整数,为 $1$ 到 $N$ 的一个全排列,表示一个置换。
输出格式
一行,
$N$个数。第
$i$ 个数表示原数列第
$i$ 个数经过多少次又变化回来。