#AGC030C. [AGC030C] Coloring Torus

[AGC030C] Coloring Torus

题目描述

n × n n\ \times\ n のマス目に対して,上から r+1 r+1 行目,左から c+1 c+1 列目にあるマスを (r, c) (r,\ c) で表します. このマス目の K K 色でのよい塗り方とは,次のような塗り方を言います:

  • それぞれのマスは K K 色のいずれかで塗られている.
  • K K 色のうちすべての色が,いずれかのマスに塗られている.
  • K K 色にそれぞれ 1, 2, ..., K 1,\ 2,\ ...,\ K の番号をつける.任意の色 i, j i,\ j (1  i  K, 1  j  K 1\ \leq\ i\ \leq\ K,\ 1\ \leq\ j\ \leq\ K ) に対して,色 i i のマスに接している色 j j のマスの個数は,色 i i のマスの選び方によらず等しい.ここで,マス (r, c) (r,\ c) に接しているマスは,$ ((r-1)\;\ mod\;\ n,\ c),\ ((r+1)\;\ mod\;\ n,\ c),\ (r,\ (c-1)\;\ mod\;\ n),\ (r,\ (c+1)\;\ mod\;\ n) $ とする (これら 4 4 つの中に同じマスが複数回現れる場合は,そのマスの色は重複している回数だけ数えるものとする).

K K が与えられたとき,1 1 以上 500 500 以下の n n を自由に選んで,n × n n\ \times\ n のマス目の K K 色でのよい塗り方を構成してください. この問題の制約の下,これは常に可能であることが証明できます.

输入格式

入力は以下の形式で標準入力から与えられる.

K K

输出格式

次の形式で出力せよ.

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

n n はマス目の大きさを表す.1  n  500 1\ \leq\ n\ \leq\ 500 でなければならない. cr,c c_{r,c} はマス (r, c) (r,\ c) をどの色で塗るべきかを表す 1  cr,c  K 1\ \leq\ c_{r,c}\ \leq\ K なる整数である.

题目大意

  • 给定一个数字 KK
  • 你需要构造一个 n×nn \times n 的矩阵 AA,需要满足以下条件:
    • n[1,500]n \in [1, 500]
    • i,j[1,n],Ai,j[1,K]\forall i,j \in [1, n], A_{i,j} \in [1,K] 且为整数。
    • $\forall v \in [1, K], \exist i,j \in [1, n], A_{i,j} =v$。
    • cnti,j,vcnt_{i,j,v} 表示 $A_{i\bmod n+1,j},A_{i,j\bmod n+1},A_{(i-2)\bmod n+1,j},A_{i,(j-2)\bmod n+1}$ 四个数中等于 vv 的数的个数。那么对于矩阵中任意两个数 Ai,jA_{i,j}Ax,yA_{x,y},若 Ai,j=Ax,yA_{i,j} = A_{x,y},则需要满足 v[1,K],cnti,j,v=cntx,y,v\forall v \in [1,K],cnt_{i,j,v}=cnt_{x,y,v}
  • 输出任意一个合法的方案即可。
  • 1K1031 \leq K \leq 10^3
2
3
1 1 1
1 1 1
2 2 2
9
3
1 2 3
4 5 6
7 8 9

提示

制約

  • 1  K  1000 1\ \leq\ K\ \leq\ 1000

Sample Explanation 1

- どの色 1 1 のマスも,3 3 個の色 1 1 のマス,1 1 個の色 2 2 のマスと接しています. - どの色 2 2 のマスも,2 2 個の色 1 1 のマス,2 2 個の色 2 2 のマスと接しています. 次のような出力は不正解となります: 2 1 2 2 2 3 1 1 1 1 1 1 1 1 1