聚会

在这里插入图片描述
.
.
.
.
.
.
分析
这个题要求的其实是
由上司下属所构成的树的最小层数
.
.
.
.
.
程序:

#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;
}

原文地址:https://www.cnblogs.com/YYC-0304/p/10292835.html