总感觉像什么做过的题:题目描述:
某个神秘的魔法学院,每年都会举行一场盛大的魔法阵演练。在演练中,学院的学员们会被传送到不同的区域,而每次传送后,学员们的站位都会发生变化。传送的规则是:第 (i) 个学员会被传送到第 (a_i) 个位置。为了测试学员们的反应能力和协作精神,学院的魔法导师规定,所有学员必须经过若干次传送后,才能回到最初的位置。这就像是一个魔法循环,学员们在不断地“重置”自己的位置,直到队伍恢复到最初的阵型。
你的任务是帮助导师计算出学员们最少经过多少次传送,才能回到最初的队形。只有通过最少的传送次数,学员们才能在学院的魔法阵演练中取得最佳成绩。
输入描述:
第一行包含一个整数 (N),表示队伍的人数,(n \leq 10000)。接下来 (N) 行,每行一个正整数 (a_i) 表示左起第 (i) 个人接下来出现在左起第 (a_i) 个位置上。
输出描述:
仅包含一行,一个整数 (M),表示学员们最少经过多少次传送。答案在64位整数范围之内。
输入样例:
5
2 3 4 5 1
输出样例:
5