#HK5230. 「UOI 2021 Stage 4 Day2」彩色矩阵

「UOI 2021 Stage 4 Day2」彩色矩阵

题目描述

题目译自 Ukrainian Olympiads in Informatics 2021 Stage 4 Day2 T1. Кольорова матриця

给定一个 n×mn \times m 的网格,即包含 nn 行和 mm 列。

科扎克·武斯希望用最少的颜色对网格中的单元格进行着色,但要求不存在两单元格具有相同颜色且它们之间的曼哈顿距离等于 kk

提醒一下,两个单元格 (x1,y1)(x_1, y_1)(x2,y2)(x_2, y_2) 之间的曼哈顿距离定义为 x1x2+y1y2|x_1 - x_2| + |y_1 - y_2|

请找出所需的最少颜色数量,并输出一个符合要求的着色方案。

输入格式

第一行包含三个整数 n,m,kn, m, k (1n,m,k100,k<min(n,m))(1 \leq n, m, k \leq 100, k < \min(n, m)),分别表示网格的行数、列数以及固定的曼哈顿距离。

输出格式

第一行输出一个整数 tt,表示所需的最少颜色数量。

接下来的 nn 行,每行包含 mm 个整数,表示对应单元格的颜色编号 (0ci,jt1)(0 \leq c_{i,j} \leq t-1)

如果存在多种可能的着色方案,可以输出任意一种。

2 2 1

2
0 1
1 0

在第一个样例中,位置 (1,1)(1,1)(2,2)(2,2) 着色为 00,位置 (1,2)(1,2)(2,1)(2,1) 着色为 11。位置 (1,1)(1,1)(1,2)(1,2) 之间的曼哈顿距离为 11+12=1|1-1| + |1-2| = 1,由于 k=1k=1,这两个位置必须使用不同的颜色。而位置 (1,2)(1,2)(2,1)(2,1) 之间的曼哈顿距离为 12+21=2|1-2| + |2-1| = 2,因此它们可以具有相同的颜色。

4 4 2

4
0 2 3 1
0 1 3 2
3 1 0 2
3 2 0 1

数据范围与提示

详细子任务附加限制及分值如下表所示:

子任务 分值 附加限制
11 1717 k=1k=1
22 1818 k=2k=2
33 1414 k=3k=3
44 1313 k=4k=4
55 2424 kk 为奇数
66 1414 无附加限制