检测到 KaTeX 加载失败,可能会导致文中的数学公式无法正常渲染。
#题面
#题目背景
翠江城是一个交通发展的城市,城里的地铁四通八达。地铁一共有 个站点, 条线路,每条线路连接两个站点, 可以在这两个站点之间双向通行。
#题目描述
特殊的是,翠江城的地铁由多家公司运营,乘坐每家公司的地铁都需要 元钱,但换乘同一家公司的地铁不需要再次付费。小 D 想从 号站点前往 号站点,他想知道最小费用是多少。
#输入格式
输入第一行有两个正整数 表示站点数和线路数。
接下来 行,每行三个整数 ,表示这条线路连接的两个站点以及运营它的公司编号。
#输出格式
输出仅包括一行一个整数,表示答案。如果无法到达,输出 。
#输入输出样例
样例输入 #1
8 11
1 3 1
1 4 2
2 3 1
2 5 1
3 4 3
3 6 3
3 7 3
4 8 4
5 6 1
6 7 5
7 8 5
样例输出 #1
2
样例解释 #1
先乘坐公司 的地铁 ,然后乘坐公司 的地铁 。
样例输入 #2
4 3
1 2 1
2 3 2
3 4 1
样例输出 #2
3
#数据范围与约定
对于 的数据,满足 ,;
对于另外 的数据,满足 ;
对于 的数据,满足 ,,,。
#思路
考虑将每种颜色都建一个子图,子图内的点之间连费用为 的边。然后再考虑换乘,把所有子图中的点都练到对应的原图上的点,费用为 。那么求这个新图的最短路即可。
#代码
1 |
|