#P6880. [JOI 2020 Final] 奥运公交 / Olympic Bus
[JOI 2020 Final] 奥运公交 / Olympic Bus
题目描述
给定一个含有 个点, 条边的有向图,点的编号从 到 。每条边从 指向 ,经过这条边的代价为 。图中可能存在重边。
在最开始时,我们可以翻转至多一条边,即让这条边从 永久变为 ,并产生 的代价。
你要从点 到点 ,再从点 回到点 ,你想知道,通过翻转至多一条边,能得到的最小代价和为多少?
输入格式
第一行两个整数 代表点数和边数。
接下来 行每行四个整数 代表一条边。
输出格式
一行一个整数代表最小代价和。无解输出 。
4 5
1 2 4 4
1 3 2 1
4 3 1 2
4 1 6 1
2 4 2 5
10
4 10
1 2 4 4
1 2 4 4
1 3 2 1
1 3 2 1
4 3 1 2
4 3 1 2
4 1 6 1
4 1 6 1
2 4 2 5
2 4 2 5
10
4 4
1 2 0 4
1 3 0 1
4 3 0 2
4 1 0 1
2
4 5
1 2 4 4
1 3 2 4
4 3 1 5
4 1 6 1
2 4 2 5
12
4 5
2 1 4 4
1 3 2 1
4 3 1 2
4 3 6 1
2 4 2 5
-1
提示
样例 1 解释
最优解为翻转第二条边,总代价为:
- 翻转的代价 。
- 从点 到点 再返回的最短路径 ,代价为 。
样例 4 解释
不一定需要翻转某条边。
样例 5 解释
从点 到点 的边有两条。
数据规模与约定
本题采用捆绑测试。
- Subtask 1(5 pts):。
- Subtask 2(11 pts): 为偶数,且 ,,。
- Subtask 3(21 pts):。
- Subtask 4(63 pts):无特殊限制。
对于 的数据:
- 。
- 。
- 。
- 。
- 。
- 。
- 。