题目链接:https://www.luogu.com.cn/problem/U81904
错误点:#8
#include<bits/stdc++.h>
using namespace std;
const int N=5e5+5;
vector<pair<int,int> >g[N];
int n,k,maxn;
void dfs(int x,int fa,int dis)
{
if(dis>maxn)
{
maxn=dis;
k=x;
}
for(int i=0;i<g[x].size();++i)
{
int y=g[x][i].first,z=g[x][i].second;
if(y==fa)
continue;
dfs(y,x,dis+z);
}
return;
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n-1;++i)
{
int x,y,z;
scanf("%d%d%d",&x,&y,&z);
g[x].push_back(make_pair(y,z));
g[y].push_back(make_pair(x,z));
}
maxn=-2e9;
dfs(1,0,0);
maxn=-2e9;
dfs(k,0,0);
printf("%d",maxn);
return 0;
}