首页 > 其他分享 >P4913

P4913

时间:2023-11-01 11:44:17浏览次数:25  
标签:int 1000000 dfs2 step ans include P4913

蕾姆了,上一道题做的好烦,结果直接把上一题的代码稍微改改就直接五分钟做出了另一道题,就是这道橙题。虽然只是一道橙题,但上一题代码得以复用显得自己没浪费那么多时间,显得自己还是有不少收获的。心里平摊多了

Code

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <map>
#include <vector>
#include <queue>
#include <cmath>
using namespace std;
int b[1000005],p[1000000],l[1000000],r[1000000],w,u,n,ans=-1e8;

void dfs2(int i,int step)
{
	if(i<1||i>n)return;
	ans=max(step,ans);
	b[i]=step;
	if(p[i]!=0&&b[p[i]]==0)dfs2(p[i],step+1);
	if(l[i]!=0&&b[l[i]]==0)dfs2(l[i],step+1);
	if(r[i]!=0&&b[r[i]]==0)dfs2(r[i],step+1);
}


int main()
{
	cin>>n;
	for(int i=1;i<=n-1;i++)
	{
		cin>>w>>u;p[w]=p[u]=i;
		l[i]=w,r[i]=u;
	}
	dfs2(1,1);
	cout<<ans<<endl;
	
    return 0;
}

标签:int,1000000,dfs2,step,ans,include,P4913
From: https://www.cnblogs.com/gongkai/p/17802723.html

相关文章