#P15558. [CCPC 2025 哈尔滨站] 扫雪

[CCPC 2025 哈尔滨站] 扫雪

题目描述

大雪过后,小 w 需要打扫一下自己的院子,使得凹凸不平的雪堆看起来至少更整齐一些。小 w 的院子可以视作一个 n×mn \times m 的网格,第 ii 行第 jj 列的格子内覆盖了相对高度为 hi,jh_{i,j} 的积雪。小 w 有以下几种清理雪堆的操作:

  • 选择 1i<n,1jm1 \le i < n, 1 \le j \le m,将第 ii 行第 jj 列的雪堆推到下一行上,此操作会使得 hi,jh_{i,j}11hi+1,jh_{i+1,j}11此操作不需要代价。
  • 选择 1in,1j<m1 \le i \le n, 1 \le j < m,将第 ii 行第 jj 列的雪堆推到下一列上。此操作会使得 hi,jh_{i,j}11hi,j+1h_{i,j+1}11此操作不需要代价。
  • 选择 1in,1jm1 \le i \le n, 1 \le j \le m,给第 ii 行第 jj 列的雪堆造雪。此操作会使得 hi,jh_{i,j}11。此操作需要 11 的代价。
  • 选择 1in,1jm1 \le i \le n, 1 \le j \le m,给第 ii 行第 jj 列的雪堆抽雪。此操作会使得 hi,jh_{i,j}11。此操作需要 11 的代价。

小 w 想要进行若干次操作使得所有 hi,jh_{i,j} 都为 00,且需要的代价最小。你能帮他计算一下最小的代价吗?

输入格式

输入第一行包含一个整数 TT (1T1061 \le T \le 10^6),表示测试数据组数。

接下来依次输入每组测试数据,对于每组测试数据:

输入第一行包含两个整数 n,mn,m (1n,m1031 \le n,m \le 10^3),表示院子的行数与列数。

接下来 nn 行第 ii 行包含 mm 个整数 hi,1,hi,2,,hi,mh_{i,1},h_{i,2},\ldots, h_{i,m} (109hi,j109-10^9 \le h_{i,j} \le 10^9),第 jj 个整数表示第 ii 行第 jj 列格子上积雪的相对高度。

对于所有数据,保证它们的 nmn \cdot m 之和不超过 10610^6

输出格式

对于每组测试数据,输出一行一个整数,表示小 w 完成目标需要的最小代价。

3
1 1
5
1 2
1 -1
2 2
-1 0
1 1
5
0
3