#5110. Problem 1. Breakdown

0

Problem 1. Breakdown

Problem 1. Breakdown

USACO 2022 December Contest, Platinum

注意:本题的时间限制为 3 秒,比通常限制高 50%。

Farmer John 的农场可以用一个带权有向图表示,道路(边)连接不同的结点,每条边的权值是通过道路所需的时间。每天,Bessie 喜欢从牛棚(位于结点 11)经过恰好 KK 条道路前往草地(位于结点 NN),并希望在此限制下尽快到达草地。然而,在某些时候,道路停止维护,一条一条地开始破损,变得无法通行。帮助 Bessie 求出每一时刻从牛棚到草地的最短路径!

形式化地说,我们从一个 NN 个结点(1≤N≤3001\le N\le 300)和 N2N^2 条边的带权有向完全图开始:对于 1≤i,j≤N1 \le i, j \le N 的每一对 (i,j)(i, j) 存在一条边(注意存在 NN 个自环)。每次移除一条边后,输出从 11 到 NN 的所有路径中经过恰好 KK 条边(不一定各不相同)的路径的最小权值(2≤K≤82\le K\le 8)。注意在第 ii 次移除后,该图还剩下 N2−iN^2-i 条边。

路径的权值定义为路径上所有边的权值之和。注意一条路径可以包含同一条边多次或同一个结点多次,包括结点 11 和 NN。

输入格式(从终端 / 标准输入读入):

输入的第一行包含 NN 和 KK。

以下 NN 行每行包含 NN 个整数。第 ii 行的第 jj 个整数为 wijw_{ij}(1≤wij≤1081\le w_{ij}\le 10^8)。

以下 N2N^2 行,每行包含两个整数 ii 和 jj(1≤i,j≤N1\le i,j\le N)。每对整数出现恰好一次。

输出格式(输出至终端 / 标准输出):

输出 N2N^2 行,为每一次移除后经过 KK 条边的路径的最小权值。如果不存在经过 KK 条边的路径则输出 −1-1。

输入样例:


3 4
10 4 4
9 5 3
2 1 6
3 1
2 3
2 1
3 2
2 2
1 3
3 3
1 1
1 2

输出样例:


11
18
22
22
22
-1
-1
-1
-1

第一次移除后,最短的经过 44 条边的路径为:


1 -> 2 -> 3 -> 2 -> 3

第二次移除后,最短的经过 44 条边的路径为:


1 -> 3 -> 2 -> 1 -> 3

第三次移除后,最短的经过 44 条边的路径为:


1 -> 3 -> 3 -> 3 -> 3

六次移除后,不再存在经过 44 条边的路径。

测试点性质: 对于 2≤T≤142\le T\le 14,测试点 TT 满足 K=⌊(T+3)/2⌋K=\lfloor (T+3)/2\rfloor。

供题:Benjamin Qi