import os
import sys
# 扩栈:递归层数过大,需要设置最大栈空间
sys.setrecursionlimit(100000)
# 请在此输入您的代码
def dfs(x,length):
vis[x] = length
if vis[a[x]] == 0 :
dfs(a[x],length +1)
else:
global ans
ans = max(ans,length-vis[a[x]]+1)
n = int(input())
a = list(map(int,input().split()))
a = [0] + a
vis = [0]*(n+1)
ans = 0
for i in range(1,n+1):
if vis[i] == 0:
dfs(i,1)
print(ans)
题目链接:0小朋友崇拜圈 - 蓝桥云课