题目描述
题目描述
有 $n$ 个同学(编号为 $1$ 到 $n$ )正在玩一个信息传递的游戏。
在游戏里每人都有一个固定的信息传递对象,其中,编号为 $i$ 的同学的信息传递对象是编号为 $T_i$ 的同学。
游戏开始时,每人都只知道自己的生日。
之后每一轮中,所有人会同时将自己当前所知的生日信息告诉各自的信息传递对象(注意:可能有人可以从若干人那里获取信息, 但是每人只会把信息告诉一个人,即自己的信息传递对象)。
当有人从别人口中得知自己的生日时,游戏结束。
请问该游戏一共可以进行几轮?
输入格式
第 $1$ 行包含 $1$ 个正整数 $n$,表示 $n$ 个人。
第 $2$ 行包含 $n$ 个用空格隔开的正整数$T_1$ , $T_2$ , … … , $T_n$ ,其中第 $i$ 个整数 $T_i$ 表示编号为 $i$ 的同学的信息传递对象是编号为 $T_i$ 的同学,$T_i≤ n$ 且 $T_i≠ i$ 。
数据保证游戏一定会结束。
输出格式
$1$个整数,表示游戏一共可以进行多少轮。
样例输入输出
样例输入
5
2 4 2 3 1
样例输出
3
数据范围
对于 $100%$ 的数据,保证 $n≤ 200000$ 。
来源/分类
图论 并查集 NOIP提高组 2015