小朋友崇拜圈
作者:
husheng
,
2022-05-23 16:22:00
,
所有人可见
,
阅读 138
import java.util.Scanner;
public class Main {
static int[] arr;
static boolean[] vis;
static int max=1;
public static void dfs(int x,int cur,int t) {
if(vis[x]) {
if(arr[x]==arr[t]) {
if(cur>max) {
max=cur;
}
}
return ;
}
vis[x]=true;
dfs(arr[x],cur+1,t);
vis[x]=false;
}
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int n=input.nextInt();
arr=new int[n+5];
vis=new boolean[n+5];
for(int i=1;i<=n;i++) {
arr[i]=input.nextInt();
}
for(int i=1;i<=n;i++) {
int t=i;
dfs(i,0,t);
}
System.out.println(max);
}
}