AT_joi2018ho_d.定期券 (Commuter Pass)
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
JOI 君居住的城市中有 N 个车站,编号为 1 到 N。同时,还有 M 条铁路线,编号为 1 到 M。每条铁路线 i (1≤i≤M) 连接车站 Ai 和车站 Bi,票价为 Ci 日元。
JOI 君住在车站 S 附近,学校在车站 T 附近,因此他计划购买一张从车站 S 到车站 T 的定期票。购买该定期票时,需要选择一条从 S 到 T 的最低票价路径。购票之后,他可以在这条指定路径上的所有铁路线自由通行。
此外,JOI 君还频繁访问车站 U 和车站 V 附近的书店。他希望选择的定期票能帮助他降低从车站 U 到车站 V 的出行费用。
从车站 U 到车站 V 时,若经过的铁路线 i 包含在定期票所指定的路径中,则票价为 0 日元;否则,票价为 Ci 日元。我们的目标是找到一种选择定期票路径的方法,使得从车站 U 到车站 V 的总票价最小。
输入格式
从标准输入中读取:
- 第一行输入两个整数 N 和 M,分别表示车站数量和铁路线数量。
- 第二行输入两个整数 S 和 T,表示欲购买定期票的起点和终点车站。
- 第三行输入两个整数 U 和 V,表示希望计算票价最小化的起点和终点车站。
- 接下来的 M 行,每行包含三个整数 Ai,Bi,Ci,表示第 i 条铁路线连接车站 Ai 和车站 Bi,票价为 Ci 日元。
输出格式
输出一个整数,表示通过合理选择定期票路径后,从车站 U 到车站 V 的最小票价。
输入输出样例
输入#1
6 6 1 6 1 4 1 2 1 2 3 1 3 5 1 2 4 3 4 5 2 5 6 1
输出#1
2
输入#2
6 5 1 2 3 6 1 2 1000000000 2 3 1000000000 3 4 1000000000 4 5 1000000000 5 6 1000000000
输出#2
3000000000
输入#3
8 8 5 7 6 8 1 2 2 2 3 3 3 4 4 1 4 1 1 5 5 2 6 6 3 7 7 4 8 8
输出#3
15
输入#4
5 5 1 5 2 3 1 2 1 2 3 10 2 4 10 3 5 10 4 5 10
输出#4
0
输入#5
10 15 6 8 7 9 2 7 12 8 10 17 1 3 1 3 8 14 5 7 15 2 3 7 1 10 14 3 6 12 1 5 10 8 9 1 2 9 7 1 4 1 1 8 1 2 4 7 5 6 16
输出#5
19
说明/提示
限制
所有数据满足:
- 2≤N≤100,000
- 1≤M≤200,000
- 1≤S,T,U,V≤N
- S=T
- U=V
- S=U 或 T=V
- 任意两个车站间至少有一条可行的铁路线
- 对于 1≤i=j≤M,Ai=Aj 或 Bi=Bj
- 1≤Ci≤1,000,000,000
子任务
子任务 1 [16 分]
- 满足 S=U。
子任务 2 [15 分]
- 从车站 S 到车站 T 的最优路径唯一。
子任务 3 [24 分]
- N≤300。
子任务 4 [45 分]
- 无额外限制。
示例解释
在示例中,从车站 1 到车站 4 的最小票价路径是 1→2→3→5→4。在该路径上,除了 5 号铁路线需支付 2 日元外,其他路线均免费,总费用为 2 日元。
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?