using namespace std;
const int N=5e4+1;
int n,x,res,mx;
vector<int> v1[N],v2[N];
int bb[5001];
void add(int a,int b,int c){v1[a].push_back(b),v2[a].push_back(c);}
void dfs(int x,int d){
bb[x]=1;
if(d>mx)mx=d;
for(int i=0;i<v1[x].size();i++){
if(bb[v1[x][i]]==0){
int w=v2[x][i];
int to=v1[x][i];
dfs(to,d+w);
}
}
}
signed main(){
cin>>n>>x;
for(int i=1,a,b,c;i<n;i++) {
cin>>a>>b>>c;
add(a,b,c);
add(b,a,c);
res+=(c<<1);
}
bb[x]=1;
dfs(x,0);
cout<<res-mx<<endl;
return 0;
}
全部评论
(1) 回帖