求条,悬赏一个关注
查看原帖
求条,悬赏一个关注
1235268
baijiahui1楼主2025/7/2 17:00
#include<bits/stdc++.h>
#define int long long    
using namespace std;
vector<int> G[1000010];
int maxd=-1,maxu;
void dfs(int a,int b,int c)
{
	if(c>maxd) 
	{
		maxd=c;
		maxu=a;
	}
	for(int i=0;i<G[a].size();i++)
	{
		int aa=G[a][i];
		if(aa==b) continue;
		dfs(aa,a,c+1);
	}
}
signed main()
{
	int a;
	cin>>a;
	for(int i=1;i<a;i++)
	{
		int x,y;
		cin>>x>>y;
		G[x].push_back(y);
		G[y].push_back(x);
	}
	dfs(1,0,0);
	maxd=0;
	dfs(maxu,0,0);
    maxd=0;
    dfs(maxu,0,0);
    cout << maxu;
	return 0;
}
2025/7/2 17:00
加载中...