#loj5757. 「ROI 2026 Day2」广义象棋

「ROI 2026 Day2」广义象棋

#5757. 「ROI 2026 Day2」广义象棋

标签: 传统 | 时间限制: 2000 ms | 内存限制: 1024 MiB |

题目描述

译自 ROI 2026 Day2 T1. Обобщённые шахматы

Mikhail 决定学习如何玩广义象棋,为此他准备了一个 n×nn \times n 大小的棋盘。他将位于第 ii 行和第 jj 列交汇处的单元格涂上了颜色 aija_{i j}

Mikhail 还是个初学者,他可能会把棋盘涂错颜色。因此,棋盘上的某些单元格可能需要重新涂上另一种颜色。如果满足以下两个条件,则认为棋盘是正确着色的:

  • 棋盘上的单元格涂有的颜色种类不超过两种;
  • 棋盘上不存在边相邻且颜色相同的单元格。

Mikhail 觉得在太大的棋盘上玩对他来说太难了。因此,他可能会从现有的棋盘中截取一个较小的区域,只保留由前 rr 行和前 cc 列组成的矩形区域,并只要求这个区域是正确着色的。

对于每一对整数 rrcc (1rn,1cn)(1 \leq r \leq n, 1 \leq c \leq n),请计算出 brcb_{r c} 的值,即为了使棋盘中由前 rr 行和前 cc 列组成的矩形区域达到正确着色,Mikhail 最少需要重新涂色的单元格数量。

输入格式

第一行包含一个整数 nn (1n400)(1 \leq n \leq 400),表示棋盘的大小。

接下来的 nn 行描述了棋盘的初始颜色:其中第 ii 行包含 nn 个整数 ai1,,aina_{i 1}, \dots, a_{i n} (1aij109)(1 \leq a_{i j} \leq 10^9),分别表示棋盘第 ii 行各单元格的颜色。

输出格式

输出 nn 行,其中第 ii 行应包含 nn 个整数 bi1,,binb_{i 1}, \dots, b_{i n}

样例 1

输入

2
7 7
7 7

输出

0 1
1 2

样例 2

输入

3
1 1 2
2 4 4
3 1 2

输出

0 1 1
0 2 4
1 3 5

数据范围与提示

详细子任务附加限制及分值如下表所示。其中子任务 00 是样例。

子任务 分值 nn aija_{i j} 子任务依赖
11 1111 n50n \leq 50 00
22 2222 n200n \leq 200 0,10, 1
33 88 aij2a_{i j} \leq 2
44 1717 aij10a_{i j} \leq 10 0,30, 3
55 1515 aij100a_{i j} \leq 100 0,3,40, 3, 4
66 77 aij104a_{i j} \leq 10^4 0,3,4,50, 3, 4, 5
77 2020 0,1,2,3,4,5,60, 1, 2, 3, 4, 5, 6