package zhenti;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;
public class zuohaiziyouxiangdi{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
HashMap> hashMap = new HashMap<>();
for (int zijiedian = 2; zijiedian <= n; zijiedian++) {
int fujiedian = scanner.nextInt();
hashMap.putIfAbsent(fujiedian, new ArrayList<>());
hashMap.get(fujiedian).add(zijiedian);
}
int ans = dfs(1, hashMap);
System.out.println(ans);
}
public static int dfs(int fujiedian, HashMap> hashMap) {
if (!hashMap.containsKey(fujiedian)) {
return 0;
}else {
ArrayList zijiediansArrayList = hashMap.get(fujiedian);
int zijiediangeshu = zijiediansArrayList.size();
int zishuzuida = 0;
for(Integer zijiedian: zijiediansArrayList) {
zishuzuida = Math.max(dfs(zijiedian, hashMap), zishuzuida);
}
return zijiediangeshu + zishuzuida;
}
}
}
欢迎提问