路径是所有道路的和乘二减去最长一条
结构体链式emmm
被卡死:nw开了全局也开了局部
#include<iostream>
#include<cstdio>
using namespace std;
int n,s,t,w,cnt,mx;
long long sum;
int head[100009],len[100009];
bool fl[100009];
struct deliver{
int to;
int nexty;
int a;
}f[100009];
void add(int u,int v,int c) {
cnt++;
f[cnt].nexty=head[u];
f[cnt].to=v;
f[cnt].a=c;
head[u]=cnt;
}
void dfs(long long m) {
int nw;
fl[m]=1;
for(nw=head[m];nw;nw=f[nw].nexty) {
int k=f[nw].to;
if(fl[k]==0) {
len[k]=len[m]+f[nw].a;
dfs(k);
}
}
}
int main() {
freopen("tour.in","r",stdin);
freopen("tour.out","w",stdout);
int i;
cin>>n;
for(i=1;i<=n-1;i++) {
scanf("%d%d%d",&s,&t,&w);
sum+=w;
add(s,t,w);
add(t,s,w);
}
len[1]=0;
dfs(1);
for(i=1;i<=n;i++)
mx=max(mx,len[i]);
sum*=2;
sum-=mx;
cout<<sum;
fclose(stdin);
fclose(stdout);
return 0;
}