logo AlgoBeat OnlineJudge
登录 注册

#216332. [蓝桥杯 2026 省 Java B 组] 回程

内存限制:512 MiB 时间限制:3000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

给定一张包含 个点、 条无向边的图,点的编号为 。每条边连接两个不同的点,且可能存在重边。每条无向边由三个整数 描述,表示点 与点 之间有一条无向边,其代价为

你需要从点 出发,到达点

图中有一个特殊点 。当第一次到达点 时,可以获得 3 次特殊机会。若 ,则表示出发时就已经获得这 3 次特殊机会。

在之后的行进过程中,每次经过一条边时,都可以选择是否使用一次特殊机会:

  • 如果不使用,则经过这条边的代价为该边原本的代价
  • 如果使用,则这一次经过该边的代价变为

特殊机会可以少用或不用,但总共最多只能使用 3 次,每次只能作用于当前经过的一条边。

现在,请你计算从点 到点 的最小总代价。若无法到达,则输出

输入格式

第一行包含三个整数 ,分别表示点数、边数和特殊点的位置。

接下来 行,每行包含三个整数 ,表示一条连接点 与点 的无向边,其代价为

输出格式

输出一个整数,表示从点 到点 的最小总代价。若无法到达,则输出

样例

样例输入 1

6 6 6
1 2 5
2 4 5
1 3 2
3 4 100
4 5 10
5 6 20

样例输出 1

5

数据范围与提示

【样例说明】

由于 ,而出发点也是 ,因此一开始就已经获得了 3 次特殊机会。

一种最优走法为:,对应边的原代价分别为

在其中 3 条边上使用特殊机会,例如对代价为 的三条边使用,则这三次经过的代价都变为 ,最后一条边仍支付原代价

因此总代价为

【评测用例规模与约定】

对于 的评测用例,

另有额外 的评测用例,所有边的代价 相同。

对于所有的评测用例,

保证图中不含自环,但可能存在重边。