记忆化搜索求助
查看原帖
记忆化搜索求助
788089
hgzxHZR楼主2023/9/24 12:02
#include<cstdio>
#include<algorithm>

using namespace std;
const int MAXN=1e6+5;

int n,ans;
int Lc,Rc,depth[MAXN],fa[MAXN];

int Getdepth(const int &a)
{
	if(depth[a]>0) return depth[a];
	depth[a]=Getdepth(fa[a])+1;
	return -1;
}

int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;++i)
	{
		scanf("%d%d",&Lc,&Rc);
		fa[Lc]=i,fa[Rc]=i;
	}
	depth[1]=1;
	
	for(int i=1;i<=n;++i)
	{
		Getdepth(i);
		ans=max(depth[i],ans);
	}
	
	printf("%d",ans);
	
	return 0;
}

#2WA,用的父亲表示法,节点的深度为父亲深度+1

2023/9/24 12:02
加载中...