题目名称 506. 教官
输入输出 officer.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarcqw 于2010-11-17加入
开放分组 全部用户
提交状态
分类标签
数论 最小公倍数
分享题解
通过:69, 提交:163, 通过率:42.33%
GravatarMagic_Sheep 100 0.000 s 0.00 MiB C++
Gravatar_Itachi 100 0.000 s 0.00 MiB C++
Gravatar1020 100 0.000 s 0.00 MiB C++
Gravatar东林桂香 100 0.009 s 0.46 MiB C++
Gravatar瑆の時間~無盡輪迴·林蔭 100 0.009 s 13.82 MiB C++
Gravatarliu_runda 100 0.010 s 0.34 MiB C++
GravatarHouJikan 100 0.010 s 0.36 MiB C++
Gravatar西园雪没 100 0.010 s 0.46 MiB C++
GravatarFoolMike 100 0.010 s 0.77 MiB C++
GravatarHzoi_chairman 100 0.013 s 0.43 MiB C++
本题关联比赛
20101117
关于 教官 的近10条评论(全部评论)
原本以为会TLE。。。
结果居然过了。。。。
GravatarHeHe
2017-04-15 11:30 8楼
再次看到这个题,明明是群论直接解。。。
把置换拆解成s个循环,长度依次$ k_{1}, k_{2}.., k_{s}  $ 。若$ A^m = I $ m为所有每个循环的长度的倍数的时候满足。于是$ m_{min} = lcm(k_{1}, k_{2}.., k_{s}) $
Gravatarsxysxy
2017-03-10 20:07 7楼
强行塔尔尖....
Gravatarsxysxy
2016-11-23 20:46 6楼
好黑暗的一题
Gravataropen the window
2016-09-16 13:41 5楼
连数组都要开longlong 可啪
Gravatar安呐一条小咸鱼。
2016-08-08 21:39 4楼
考数学,真心为自己数学汗颜。。
Gravatar_Itachi
2016-08-08 20:44 3楼
论认真读题的重要性:
对于全部数据,答案在均在64位整数范围之内。
第一次longint爆掉,40
第二次改变运算顺序后继续爆掉,50
第三次怒改int64,AC………………
GravatarMarvolo
2016-02-04 12:30 2楼
只会暴力
Gravatar水中音
2014-09-18 18:18 1楼

506. 教官

★★   输入文件:officer.in   输出文件:officer.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】


每个学年的开始,高一新生们都要进行传统的军训。今年有一个军训教官十分奇怪,他为了测试学员们的反应能力,每次吹哨后学员们都会变换位置。每次左数第i位学员都会站到第ai个位置,经过若干次之后,队伍又会回到原来的样子。
你的任务是计算n个人的队伍至少经过多少次之后,队伍恢复到原来样子。

 

【输入】


第一行包含一个整数N(0<N<=10000),表示队伍的人数。
接下来N行,每行一个正整数ai表示左起第i个人接下来出现在左起第ai个位置上。

 

【输出】


仅包括一行,一个正整数M,表示军官最少的吹哨次数。
 

【输入样例】

officer.in

5
2
3
4
5
1

【输出样例】

officer.out

5
【提示】

数据规模
对于30%的数据,有N<=100
对于100%的数据,有N<=10000;
对于全部数据,答案在均在64位整数范围之内。