编程题
### 问题描述 小齐居住在一座由道路连接的有向加权图中的农场,每条道路的权重表示沿着这条道路行进所需的时间。每天,小齐都喜欢从谷仓(位于节点 $1$)到田地(位于节点 $N$)出行,但她有一个特殊的要求:她想要在保证经过 $K$ 条边的情况下尽快到达目的地。然而,道路在某一时刻停止维护,一条接一条地损坏,变得无法通行。请帮助小齐找到从谷仓到田地的最短路径,并在每次道路损坏后输出路径的最小权重。 具体而言,我们从一个包含N个节点的完全加权有向图开始,有N^2条边:对于$1 \leq i, j \leq N$的每一对($i,j$)都有一条边(注意,有 $N$ 个自环边)。每次移除一条边后,输出经过恰好 $K$ 条边(不一定是不同的)的从 $1$ 到 $N$ 的路径的最小权重。注意,在第i次移除后,图中将剩下 $N^2-i$ 条边。 路径的权重定义为路径上所有边的权重之和。请注意,路径中可以包含多条相同的边和多个相同的节点,包括节点 $1$ 和 $N$。 ### 输入格式 第一行包含两个整数 $N$ 和 $K$。 接下来的N行,每行包含N个整数,第i行的第j个整数为$w_{ij}$($1 \leq w_{ij} \leq 10^8$),表示从节点i到节点j的边的权重。 然后是 $N^2$ 额外的行,每行包含两个整数i和j($1 \leq i, j \leq N$)。每一对整数恰好出现一次。 ### 输出格式 输出恰好 $N^2$ 行,分别表示每次移除一条边后从 $1$ 到 $N$ 的路径的最小权重。如果不存在经过 $K$ 条边的路径,则输出 $-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 ``` ### 评测数据规模 $1 \leq N \leq 300$,$2 \leq K \leq 8$。
查看答案
赣ICP备20007335号-2