清除积雪
时间限制:1秒 内存限制:256M
【问题描述】
大雪覆盖了整座城市,市政府要求“交通部门”尽快将一些街道(列在一份清单中)的积雪清除掉以恢复交通。整个城市由许多交叉路口和街道构成,当然任意两个交叉路口都是直接或间接连通的。清单给出了最少的街道,使得这些街道的积雪清除后任意两个交叉路口之间有且仅有一条通路。冬季交通部门只有一辆铲雪车和一名司机,这辆铲雪车的出发点位于某个交叉路口 \(S\)。
无论街道上有没有积雪,铲雪车每前进一米都要消耗一升燃料。交通部门要求司机在铲除清单上的所有街道的积雪的前提下,消耗燃料最少,铲完后车可以停在任意交叉路口。
【输入格式】
第一行包含 \(2\) 个整数 \(N,S(1≤S≤N)\),\(N\) 为交叉路口总数,路口的标号为 \(1...N\),\(S\) 为铲雪车出发的路口序号。
接下来的 \(N-1\) 行为清单上的街道,每一行包含三个用空格隔开的整数 \(A,B,C\),表示一条从交叉路口 \(A\) 到交叉路口 \(B\) 的街道,\(C\) 为该街道的长度(单位为米)
【输出格式】
仅一行,包含一个整数,表示铲掉所有积雪所需的最少燃料。
【输入输出样例】
Input
5 1
1 2 8
1 3 10
3 4 10
4 5 7
Output
43
【数据限制】
\(20\%\) 的数据有:\(1≤N≤15\)
\(100\%\) 的数据有:\(1≤N≤100000,1≤C≤1000\)。