AT_abc445_f [ABC445F] Exactly K Steps 2

题目描述

有一个包含 $N$ 个顶点的有向图,顶点依次编号为 $1,2,\ldots,N$。对于任意整数对 $(i,j)$,$1\leq i,j\leq N$,都存在一条从顶点 $i$ 到顶点 $j$ 的有向边,其代价为 $C_{i,j}$。 你将获得一个正整数 $K$。对于每个 $s=1,2,\ldots,N$,需要你解决下列问题。 - 从顶点 $s$ 出发,连续走 $K$ 步(每一步按照有向边移动),最终回到顶点 $s$ 的所有路径中,找出经过的边的总代价的最小值。更正式地说,即求满足 $v_0=v_K=s$ 的整数序列 $v=(v_0,v_1,\ldots,v_K)$,其中每个 $v_i$ 满足 $1\leq v_i\leq N$,使得 $\displaystyle\sum_{i=1}^K C_{v_{i-1}, v_i}$ 取得最小值。

输入格式

输入通过标准输入给出,格式如下: > $N\ K$ > $C_{1,1}\ C_{1,2}\ \ldots\ C_{1,N}$ > $C_{2,1}\ C_{2,2}\ \ldots\ C_{2,N}$ > $\vdots$ > $C_{N,1}\ C_{N,2}\ \ldots\ C_{N,N}$

输出格式

输出共 $N$ 行。第 $i$ 行 ($1\leq i\leq N$) 应输出对于 $s=i$ 时要求的最小总代价。

说明/提示

### 样例解释 1 对于 $s=1$,沿着路径 $1\rightarrow2\rightarrow3\rightarrow1$ 移动,总代价为 $1+2+5=8$。无法通过从顶点 $1$ 出发,经过三次边,回到 $1$ 并使总代价小于等于 $7$,因此第一行输出应为 `8`。 对于 $s=4$,沿着路径 $4\rightarrow4\rightarrow4\rightarrow4$ 移动,总代价为 $3+3+3=9$。注意可以多次经过相同的边或顶点,每经过一次,相应的代价要重复累加。 ### 样例解释 2 答案可能会大于等于 $2^{32}$。 ### 数据范围 - $1 \leq N \leq 100$ - $1 \leq K \leq 10^9$ - $0 \leq C_{i,j} \leq 10^9\ (1 \leq i \leq N,1 \leq j \leq N)$ - 所有输入值均为整数。 由 ChatGPT 5 翻译