U486763 复仇者联盟1(message)

题目背景

在复联中,为了传递信息方便,钢铁侠给美队,鹰眼,雷神...等人各发了一套信息传递装置。

题目描述

$n$ 个队员(编号为 $1$ 到 $n$)正在进行信息传递的训练。训练时每人都有一个固定的信息传递对象,其中,编号为 $i$ 的队员的信息传递对象是编号为 $T_i$ 的队员。 训练开始时,每人都只知道自己的暗号。之后每一轮中,所有人会同时将自己当前所知的暗号告诉各自的信息传递对象。当有人从别人口中得知自己的真正的暗号时,训练结束。请问该训练一共可以进行几轮? ## 输入格式 输入共 $2$ 行。 第一行包含 $1$ 个正整数 $n$,表示 $n$ 个队员。 第二行包含 $n$ 个用空格隔开的正整数 $T_1,T_2,\cdots,T_n$,其中第 $i$ 个整数 $T_i$ 表示编号为 $i$ 的队员的信息传递对象是编号为 $T_i$ 的队员,$T_i\leq n$ 且 $T_i\neq i$。

输入格式

共一行一个整数,表示训练一共可以进行多少轮。

输出格式

说明/提示

- 对于 $30\%$ 的数据,$n\le 200$; - 对于 $60\%$ 的数据,$n\le 2500$; - 对于 $100\%$ 的数据,$n\le 2\times 10^5$。 (注意:可能有人可以从若干人那里获取信息,但是每人只会把信息告诉一个人,即自己的信息传递对象)