AT_arc135_d [ARC135D] Add to Square

题目描述

有一个 $H \times W$ 的网格,每个格子中写有一个整数。对于 $1 \leq i \leq H$,$1 \leq j \leq W$,第 $i$ 行第 $j$ 列的格子中写的整数记作 $A_{i,j}$。 你可以进行如下操作任意次(也可以一次都不做): - 选择满足 $1 \leq i \leq H-1$ 且 $1 \leq j \leq W-1$ 的整数 $i, j$。 - 选择一个整数 $x$。 - 将 $A_{i,j}$、$A_{i,j+1}$、$A_{i+1,j}$、$A_{i+1,j+1}$ 都加上 $x$。 请你通过若干次操作,使操作后的 $\sum_{i=1}^H \sum_{j=1}^W |A_{i,j}|$ 尽可能小,并输出操作后 $\sum_{i=1}^H \sum_{j=1}^W |A_{i,j}|$ 的值,以及此时网格的状态。

输入格式

输入按以下格式从标准输入读入。 > $H$ $W$ > $A_{1,1}$ $A_{1,2}$ $\ldots$ $A_{1,W}$ > $\vdots$ > $A_{H,1}$ $A_{H,2}$ $\ldots$ $A_{H,W}$

输出格式

请输出 $H+1$ 行。第 $1$ 行输出 $\sum_{i=1}^H \sum_{j=1}^W |A_{i,j}|$ 的值。第 $2$ 行到第 $H+1$ 行,按如下格式输出网格的状态: > $A_{1,1}$ $A_{1,2}$ $\ldots$ $A_{1,W}$ > $\vdots$ > $A_{H,1}$ $A_{H,2}$ $\ldots$ $A_{H,W}$ 如果存在多个满足条件的网格状态,输出任意一个都可以。

说明/提示

### 限制 - $2 \leq H, W \leq 500$ - $|A_{i,j}| \leq 10^9$ ### 样例解释 1 例如,按如下方式操作,可以得到输出样例中的网格状态: - 以 $(i, j, x) = (1, 1, -1)$ 进行操作。 - 以 $(i, j, x) = (1, 2, -4)$ 进行操作。 此时,$\sum_{i=1}^H \sum_{j=1}^W |A_{i,j}| = 0 + 3 + 1 + 3 + 0 + 2 = 9$。 ### 样例解释 2 允许进行使 $|A_{i,j}| > 10^9$ 的操作。 由 ChatGPT 4.1 翻译