#ATagc030c. [AGC030C] Coloring Torus

[AGC030C] Coloring Torus

题目描述

对于一个 n×nn \times n 的格子,我们用 (r, c)(r,\ c) 表示第 r+1r+1 行第 c+1c+1 列的格子。对于这个格子,用 KK 种颜色的“好”涂色方式定义如下:

  • 每个格子都被 KK 种颜色中的某一种涂色。
  • KK 种颜色中的每一种颜色都至少出现在某个格子上。
  • KK 种颜色分别编号为 1,2,...,K1, 2, ..., K。对于任意颜色 i,ji, j1iK,1jK1 \leq i \leq K, 1 \leq j \leq K),所有颜色为 ii 的格子,其相邻的颜色为 jj 的格子的数量,都必须相等(不论选择哪个颜色为 ii 的格子)。这里,格子 (r,c)(r, c) 的相邻格子指 $((r-1)\bmod n, c),\ ((r+1)\bmod n, c),\ (r, (c-1)\bmod n),\ (r, (c+1)\bmod n)$(如果这四个位置中有重复的格子,则该格子的颜色要按重复次数计数)。

给定 KK,请你自由选择 1n5001 \leq n \leq 500,构造一个 n×nn \times n 的格子的 KK 色“好”涂色方式。在本题的限制下,总是存在这样的构造。

输入格式

输入以如下格式从标准输入读入:

KK

输出格式

请按如下格式输出:

nn c0,0c_{0,0} c0,1c_{0,1} ...... c0,n1c_{0,n-1} c1,0c_{1,0} c1,1c_{1,1} ...... c1,n1c_{1,n-1} :: cn1,0c_{n-1,0} cn1,1c_{n-1,1} ...... cn1,n1c_{n-1,n-1}

其中 nn 表示格子的大小,1n5001 \leq n \leq 500cr,cc_{r,c} 表示第 (r,c)(r, c) 个格子应该涂的颜色,1cr,cK1 \leq c_{r,c} \leq K

样例 1

输入

2

输出

3
1 1 1
1 1 1
2 2 2

样例 2

输入

9

输出

3
1 2 3
4 5 6
7 8 9

说明/提示

限制

  • 1K10001 \leq K \leq 1000

样例解释 1

  • 任意颜色 11 的格子都与 33 个颜色 11 的格子和 11 个颜色 22 的格子相邻。
  • 任意颜色 22 的格子都与 22 个颜色 11 的格子和 22 个颜色 22 的格子相邻。

如下输出是不正确的:

2 1 2 2 2
3 1 1 1 1 1 1 1 1 1

由 ChatGPT 4.1 翻译