atcoder#ARC142B. [ARC142B] Unbalanced Squares

[ARC142B] Unbalanced Squares

配点 : 400400

問題文

N×NN \times N のマス目があります。このマス目の上から ii 行目、左から jj 列目をマス (i,j)(i,j) と呼びます。 全てのマスに整数を 11 つずつ書き込む方法であって、以下の条件を満たすようなものを 11 つ求めてください。

  • 11 以上 N2N^2 以下の整数がそれぞれちょうど 11 つずつ書き込まれる。
  • すべての整数 i,j(1i,jN)i,j\, (1 \leq i,j \leq N) に対し、マス (i,j)(i,j) が次の条件を満たす。 - マス (i,j)(i,j) の上下左右斜めに隣接するマス(最大 88 個)のうち、書かれている整数がマス (i,j)(i,j) に書かれている整数よりも大きいものの個数を aa、小さいものの個数を bb とする。この時、 aba \neq b が成り立つ。
  • マス (i,j)(i,j) の上下左右斜めに隣接するマス(最大 88 個)のうち、書かれている整数がマス (i,j)(i,j) に書かれている整数よりも大きいものの個数を aa、小さいものの個数を bb とする。この時、 aba \neq b が成り立つ。

なお、この問題の制約の下、条件を満たす整数の書き込み方が必ず存在することが証明できます。

制約

  • 2N5002 \leq N \leq 500
  • NN は整数

入力

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

NN

出力

条件をみたす整数の書き込み方を以下の形式で出力せよ。

x1,1x_{1,1} \ldots x1,Nx_{1,N}

\vdots

xN,1x_{N,1} \ldots xN,Nx_{N,N}

ただし、xi,jx_{i,j} はマス (i,j)(i,j) に書き込まれる整数とする。 答えが複数存在する場合はどれを出力しても正解とみなされる。

2
1 2
3 4

この出力は 11 以上 N2(=4)N^2\, (=4) 以下の整数がそれぞれちょうど 11 つずつ書き込まれているため、11 つ目の条件を満たしています。 また、マス (1,1)(1,1) の上下左右斜めに隣接するマスのうち書かれている整数がマス (1,1)(1,1) に書かれているものより大きいものはマス (1,2)(1,2)、マス (2,1)(2,1)、マス (2,2)(2,2)33 個で、小さいものは 00 個です。 このことからマス (1,1)(1,1) に対しては a=3,b=0a=3,b=0 となり、aba\neq b が成り立ちます。 他のマスに対しても同様にして aba\neq b が成り立つことが確かめられるため、この出力は 22 つ目の条件を満たしています。 以上より、この出力は正当です。

3
1 2 3
5 4 6
7 8 9