#ATabc347g. [ABC347G] Grid Coloring 2
[ABC347G] Grid Coloring 2
题目描述
有一个 的网格,每个格子上写有一个 到 之间的整数。第 行第 列的格子()记作格子 ,其中写着整数 。
你可以对这个网格进行任意次如下操作(可以为 次):
- 选择一个写着 的格子 ,以及一个 到 之间的整数 ,将该格子上的数改为 。
操作结束后,格子 上的整数记作 。定义网格的代价为所有相邻格子上的整数差的平方和。即,代价由下式给出:
$$\sum\_{i=1}^N\sum\_{j=1}^{N-1}(B\_{i,j}-B\_{i,j+1})^2+\sum\_{i=1}^{N-1}\sum\_{j=1}^N(B\_{i,j}-B\_{i+1,j})^2$$请你求出所有可能的操作结束后的网格中,代价最小的一个。
如果有多个代价最小的网格状态,输出其中任意一个即可。
输入格式
输入按以下格式从标准输入给出。
输出格式
输出 行。第 行()输出操作后使代价最小的 ,用空格分隔。
样例 1
输入
5
0 2 1 0 4
4 0 0 0 2
3 1 0 3 0
1 0 0 0 0
0 0 2 0 5
输出
3 2 1 2 4
4 2 2 2 2
3 1 2 3 3
1 1 2 3 4
1 1 2 3 5
样例 2
输入
3
0 0 0
0 0 0
0 0 0
输出
0 0 0
0 0 0
0 0 0
样例 3
输入
10
1 0 0 3 0 0 0 0 0 0
1 0 0 4 0 1 0 5 0 0
0 0 0 0 0 0 2 0 3 0
0 0 2 0 0 0 4 0 0 3
0 3 4 3 3 0 3 0 0 5
4 1 3 4 4 0 2 1 0 0
2 0 1 0 5 2 0 1 1 5
0 0 0 5 0 0 3 2 4 0
4 5 0 0 3 2 0 3 5 0
4 0 0 5 0 0 0 3 0 5
输出
1 2 3 3 3 2 3 4 4 4
1 2 3 4 3 1 3 5 4 4
2 2 2 3 3 2 2 3 3 3
2 2 2 3 3 3 4 3 3 3
3 3 4 3 3 3 3 2 3 5
4 1 3 4 4 3 2 1 2 4
2 2 1 4 5 2 2 1 1 5
3 3 3 5 4 3 3 2 4 5
4 5 4 4 3 2 3 3 5 5
4 4 4 5 4 3 3 3 4 5
说明/提示
限制条件
- 输入均为整数
样例解释 1
给定的网格如下所示。

通过将网格变为右图的状态,代价为 。
无法使代价小于 ,因此输出对应的 即为正确答案。
样例解释 2
初始状态的代价已经为 ,因此不进行操作即可达到最小代价。
由于操作结束后的网格状态中有多个代价最小的情况,输出如下也可以:
2 2 2
2 2 2
2 2 2
由 ChatGPT 4.1 翻译