#P6880. [JOI 2020 Final] オリンピックバス
[JOI 2020 Final] オリンピックバス
题目描述
给定一个 点 边的有向图,每条边从 指向 ,经过这条边的代价为 。
点编号为 到 。
我们可以翻转一条边,即让他从 指向 变为从 指向 ,这时会有 的代价产生。
你要从点 到点 ,再从点 回到点 ,你想知道,通过翻转一条边,或者不翻转,能得到的最小代价和为多少?
输入格式
第一行两个整数 代表点数和边数。
接下来 行每行四个整数 代表一条边。
输出格式
一行一个整数代表最小代价和。无解输出 。
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):无特殊限制。
对于 的数据:
- 。
- 。
- 。
- 。
- 。
- 。
- 。