C - 陣法魔 解説 /

実行時間制限: 2 sec / メモリ制限: 1024 MiB

配点 : 300

問題文

2 以上の整数 N が与えられます。

NN 列のマス目に 1 以上 N^2 以下の整数を 1 つずつ書き込む方法であって、以下の条件を満たすものを一つ求めてください。

  • 各行の和と各列の和を全て書き出したとき、その 2N 個の整数の値が相異なる。

ただし、制約下で条件を満たす書き込み方が必ず存在することが証明できます。

制約

  • 2\le N\le 50
  • 入力される値は整数

入力

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

N

出力

マス目の ij 列に書き込む整数を A_{i,j} として、以下の形式で出力せよ。

A_{1,1} A_{1,2} \ldots A_{1,N}
A_{2,1} A_{2,2} \ldots A_{2,N}
\vdots
A_{N,1} A_{N,2} \ldots A_{N,N}

条件を満たす書き込み方が複数ある場合、どれを出力しても正答となる。


入力例 1

3

出力例 1

8 9 3
6 5 1
4 2 7
  • 1 行目に書かれた整数の総和は 8+9+3=20 です。
  • 2 行目に書かれた整数の総和は 6+5+1=12 です。
  • 3 行目に書かれた整数の総和は 4+2+7=13 です。
  • 1 列目に書かれた整数の総和は 8+6+4=18 です。
  • 2 列目に書かれた整数の総和は 9+5+2=16 です。
  • 3 列目に書かれた整数の総和は 3+1+7=11 です。

20,12,13,18,16,11 は相異なる整数なので、この書き込み方は条件を満たします。


入力例 2

2

出力例 2

4 2
3 1

入力例 3

5

出力例 3

20 6 23 3 5
19 21 16 11 14
18 4 9 2 10
22 17 12 15 13
8 1 24 7 25