样例过不了求调!!!
  • 板块B4016 树的直径
  • 楼主zhuona
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/17 12:30
  • 上次更新2025/1/17 16:00:40
查看原帖
样例过不了求调!!!
976340
zhuona楼主2025/1/17 12:30
#include <iostream>
#include <queue>
using namespace std;
int dp[100005];
queue <int> e[100005];
int n,x,y,p,q;
void dfs(int u, int fa) {
	dp[u]=dp[fa]+1;
	for(int i=0; i<e[u].size(); i++) {
		int v=e[u].front();
		e[u].pop();
		e[u].push(v);
		if(v==fa)continue;
		dfs(v,u);
	}
	if(dp [u]>dp [q])q=u;
}
int main() {
	cin>>n;
	for(int i=1;i<n;i++){
		cin>>x>>y;
		e[x].push(y);
		e[y].push(x);
	}
	dfs(1,0),swap(p,q);
	dfs(p,0);
	cout<<dp [q]<<endl;
	return 0;
}
2025/1/17 12:30
加载中...