2025-12-26 19:53:31
发布于:浙江
#include <bits/stdc++.h>
using namespace std;
vector<int> child[100005];
int dfs(int u){
vector<int> d;
for(int c:child[u]){
d.push_back(dfs(c));
}
sort(d.rbegin(), d.rend());
int res = child[u].size();
if(!d.empty()){
res += d[0];
}
return res;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
int n;
cin >> n;
for(int i=2;i<=n;++i){
int fa;
cin >> fa;
child[fa].push_back(i);
}
int ans = dfs(1);
cout << ans;
return 0;
}
这里空空如也









有帮助,赞一个