#380. 奶牛串门
奶牛串门
题目描述
Farmer John 有 N 个农场,编号为 1 ~ N。每个农场里仅住着一头奶牛。
有 M 条双向道路将所有农场连通起来,每条道路连接两个不同的农场(无自环),两个农场间最多有一条道路直接相连(无重边)。经过每条道路需要花费一定的时间。
奶牛 Zero 住在农场 1。她很喜欢串门。这天,她要到奶牛 One,奶牛 Two,奶牛 Three,奶牛 Four,奶牛 Five 家串门。五头奶牛分别住在农场 x1, x2, x3, x4, x5。至于串门顺序,这个完全由 Zero 决定。她只会去每头奶牛家串门一次,之后如果再经过该奶牛家就不再进去了。
问:Zero 该如何规划串门路线,可以使得她到达最后一头奶牛家在路上所花费的总时间最少?
你能帮助她吗?你只需要输出她到达最后一头奶牛家在路上所花费的最少总时间。
注:只计算在路上的时间,不计算在奶牛家串门的时间。
输入格式
第一行:N, M;
第二行:x1, x2, x3, x4, x5;数据保证这 5 个整数互不相同,且均不为 1.
接下来 M 行:每行三个整数 u, v, w,表示农场 u 和农场 v 之间有一条道路,通行时间为 w 个时间单位。
输出格式
一个整数,表示奶牛 Zero 到达最后一头奶牛家在路上所花费的最少总时间。
样例输入
6 6
2 3 4 5 6
1 2 2
2 3 3
3 4 4
4 5 5
5 6 2
6 1 1
样例输出
15
数据范围
100% 的数据:$1 ≤ N ≤ 5×10^4, 1 ≤ M ≤ 10^5, 1 < x1, x2, x3, x4, x5 ≤ N, 1 ≤ u, v ≤ N,1 ≤ w ≤ 100。$
相关
在下列比赛中: