#P13955. [ICPC 2023 Nanjing R] 延伸距离

[ICPC 2023 Nanjing R] 延伸距离

题目描述

n×mn \times m 个点排成了 nnmm 列,相邻点之间被无向带权边连接。具体来说,令 (i,j)(i, j) 表示位于第 ii 行第 jj 列的点,对于所有 1i,in1 \le i, i' \le n1j,jm1 \le j, j' \le m(i,j)(i, j)(i,j)(i', j') 之间有边相连当且仅当 ii+jj=1|i - i'| + |j - j'| = 1

堡堡的旅行将从第一列的任意一个点 (p,1)(p, 1) 开始,到最后一列的任意一点 (q,m)(q, m) 结束。对于每条边他都可以沿着这条边的两个方向走。一条路径的距离定义为这条路径经过的边权之和。在所有从第一列到最后一列的路径中,堡堡会选择最短的路径。

小青鱼希望堡堡享受这段旅行,于是他尝试在堡堡出发前增加一些边的权值。具体来说,小青鱼每次操作可以选择一条边,将它的权值增加 11。小青鱼希望在他修改后,堡堡旅行的距离恰好增加了 kk。请帮助他求出最少需要进行多少次操作,并输出方案。

输入格式

有多组测试数据。第一行输入一个整数 TT 表示测试数据组数,对于每组测试数据:

第一行输入三个整数 nnmmkk1n×m5001\leq n\times m\leq 5002n,m5002\leq n,m\leq 5001k1001\leq k\leq 100)表示行数,列数和最短路径距离的增加量。

对于接下来的 nn 行,第 ii 行输入 (m1)(m - 1) 个整数 ri,1,ri,2,,ri,m1r_{i,1}, r_{i,2}, \cdots, r_{i,m-1}1ri,j1091\leq r_{i,j}\leq 10^9),其中 ri,jr_{i,j} 表示连接 (i,j)(i,j)(i,j+1)(i,j+1) 的边权。

对于接下来的 (n1)(n - 1)行,第 ii 行输入 mm 个整数 ci,1,ci,2,,ci,mc_{i,1}, c_{i, 2}, \cdots, c_{i,m}1ci,j1091\leq c_{i,j}\leq 10^9),其中 ci,jc_{i,j} 表示连接 (i,j)(i,j)(i+1,j)(i+1,j) 的边权。

保证所有数据 n×mn\times m 之和不超过 5×1035 \times 10^3

输出格式

对于每组数据:

首先输出一行一个整数表示最少需要的操作次数。

接下来输出 nn 行,第 ii 行输出 (m1)(m - 1) 个由单个空格分隔的整数 ri,1,ri,2,,ri,m1r'_{i,1}, r'_{i,2}, \cdots, r'_{i,m-1}1ri,j2×1091\leq r'_{i,j}\leq 2\times 10^9),其中 ri,jr'_{i,j} 表示完成所有操作后连接 (i,j)(i,j)(i,j+1)(i,j+1) 的边权。

接下来输出 (n1)(n - 1) 行,第 ii 行输出 mm 个由单个空格分隔的整数 ci,1,ci,2,,ci,mc'_{i,1}, c'_{i,2}, \cdots, c'_{i,m}1ci,j2×1091\leq c'_{i,j}\leq 2\times 10^9),其中 ci,jc'_{i,j} 表示完成所有操作后连接 (i,j)(i,j)(i+1,j)(i+1,j) 的边权。

如果有多种合法答案,输出任意一种。

请不要在行末输出多余空格,否则您的答案可能会被认为是错误的!

2
3 4 6
2 1 15
7 1 9
13 3 2
3 6 1 2
5 2 15 3
3 3 3
1 1
2 2
3 3
1 1 1
2 2 2
9
2 3 15
7 1 10
13 3 4
3 6 3 2
5 4 15 3
4
4 1
3 2
3 3
1 1 1
2 2 2

提示

第一组样例数据如下图所示。左边的是原图,右边的是增加一些边的权值之后的图。每张图的最短路用红色线条表示。

:::align{center} :::