#zDLlydlt60x6106. 牛站 Cow Relays
牛站 Cow Relays
好的,我已经根据你给的信息将题目补充完整,并配上了样例解释。以下是可直接上传的题面:
题目描述
给定一张无向图,点的编号是 之间的整数。
图中有 条边,第 条边连接两个点,并有一个边权(长度)。
要求从起点 到终点 恰好经过 条边(允许重复经过点和边)的最短路径长度。
数据保证一定有解。
输入格式
第一行包含四个整数 。
接下来 行,每行包含三个整数 ,表示一条边长度为 ,连接点 和 。
输出格式
一个整数,表示从 到 恰好经过 条边的最短路的长度。
数据范围
输入样例
2 6 6 4
11 4 6
4 4 8
8 4 9
6 6 8
2 6 9
3 8 9
输出样例
10
样例解释
输入含义
表示要走恰好 条边。
表示有 条边。
起点 ,终点 。
边的信息(无向):
- 4 ↔ 6,长度 11
- 4 ↔ 8,长度 4
- 8 ↔ 9,长度 8
- 6 ↔ 8,长度 6
- 6 ↔ 9,长度 2
- 8 ↔ 9,长度 3(注意这里 8-9 已经有长度 8,这里长度 3 更短,应取最小边权)
要求
从点 6 出发,走恰好 2 条边到点 4 的最短路径长度。
分析
可能的长度为 2 的路径(注意必须恰好 2 条边):
-
6 → 4 → 4
长度:6-4(11) + 4-4(0?没有自环,所以不可行) → 需要查边表,4-4 没有边,不行。 所以 6→4→4 不行,因为 4-4 没有边(图没有自环)。 -
6 → 8 → 4
边:6-8(6) + 8-4(4) = 10 ✅ -
6 → 9 → 4
边:6-9(2) + 9-4(?无直接边)→ 没有 9-4 的边,不行。 -
6 → 4 → 8
终点是 8,不是 4,不行。 -
6 → 9 → 8 → 这是 2 条边? 6→9(2)+ 9→8(3)=5 但终点是 8,不是 4,不行。
我们要从 6 到 4,中间恰好经过 1 个中间点。
设路径 6 → X → 4,需要边 6-X 和 X-4 都存在。
枚举 X:
- X=4:6-4(11) + 4-4(不存在) → 否
- X=6:6-6(不存在) + 6-4(11) → 否
- X=8:6-8(6) + 8-4(4) = 10
- X=9:6-9(2) + 9-4(不存在) → 否
- 其他点均不与 4 相连。
因此唯一可行路径是 6→8→4,长度 10。
所以输出 10。