#L6354. 最短路
最短路
企鹅国的最短路径问题
题目描述
在北纬 91°,有一个神奇的国度叫做企鹅国。这里的企鹅拥有发达的企鹅文明,由于企鹅只有黑白两种颜色,他们的数学体系以二进制为基础发展而来。
早在 (十进制 233)年前,企鹅们就掌握了异或()的数学概念。异或运算规则为“相同取 0,相异取 1”,即两个二进制位若不同则结果为 1,若相同则结果为 0,也可看作不带进位的二进制加法。
而在 (十进制 66)年前,企鹅国的大科学家 Penguin. Tu 就提出了图与最短路径的概念——即在由顶点和边组成的图中,寻找从起点到终点、累计代价最小的路线。
企鹅国中有 座城市,编号从 1 到 。城市间的通行方式有两种:
- 普通路径:任意两座城市 和 之间可直接通行,花费时间为 ( 为给定常数)。
- 快捷通道:存在 条单向快捷通道,第 条通道从城市 通向城市 ,通过需消耗 的时间。
现在,来自 Penguin Kingdom University 的企鹅豆豆想从城市 前往城市 ,请你计算最少需要多少时间。
输入格式
从标准输入读入数据:
- 第一行包含三个整数 、、,分别表示城市个数、快捷通道个数、普通路径的时间系数。
- 接下来 行,每行三个正整数 、、,满足 、、,分别表示快捷通道的起点、终点和消耗时间。
- 最后一行包含两个正整数 、,满足 ,表示起点城市和终点城市。
输出格式
输出到标准输出:
- 一行一个整数,表示从城市 到城市 的最少通行时间。
样例
样例 1
输入
4 2 1
1 3 1
2 4 4
1 4
输出
5
解释
直接选择普通路径从 1 走到 4,花费时间为 ,是最优方案。
样例 2
输入
7 2 10
1 3 1
2 4 4
3 6
输出
34
解释
最优路径为:3 → 2(普通路径,花费 )→ 4(快捷通道,花费 4)→ 6(普通路径,花费 ),总时间 。
数据范围与提示
| 子任务编号 | 的取值 | 的取值 | 子任务分值 |
|---|---|---|---|
| 1 | 1 | ||
| 2 | 无限制 | 2 | |
| 3 | 4 | ||
| 4 | 8 | ||
| 5 | 15 | ||
| 6 | |||
| 7 | 无限制 | 55 |
提示:本题的核心是处理“无限普通路径 + 有限快捷通道”的图模型,需结合异或的性质优化最短路径算法,避免直接枚举所有普通路径。