.
.
.
.
.
.
分析
这个题要求的其实是
由上司下属所构成的树的最小层数
.
.
.
.
.
程序:
#include<iostream>
#include<cstdio>
using namespace std;
int n,f[2001],ans=0;
int main()
{
scanf("%d",&n);
for (int i=1;i<=n;i++)
scanf("%d",&f[i]);
for (int i=1;i<=n;i++)
{
int tj=0;
for (int j=i;j<=n&&j!=-1;j=f[j])
tj++;
ans=max(ans,tj);
}
printf("%d",ans);
return 0;
}