atcoder#AGC037D. [AGC037D] Sorting a Grid

[AGC037D] Sorting a Grid

配点 : 11001100

問題文

NNMM 列のマス目があります。 このマス目には 11 から NMNM までの整数がそれぞれ 11 つずつ書かれています。 上から ii 行目、左から jj 列目にあるマスに書かれている数は AijA_{ij} です。

あなたはこのマス目を以下の手順に従って並べ替える必要があります。

  1. まず NN 個の行それぞれに対して、その行に書かれている数を好きに並べ替える。
  2. 次に MM 個の列それぞれに対して、その列に書かれている数を好きに並べ替える。
  3. 最後に NN 個の行それぞれに対して、その行に書かれている数を好きに並べ替える。

最終的に上から ii 行目、左から jj 行目にあるマスに書かれている数が M×(i1)+jM\times (i-1)+j となるようにしたいです。 そのような並べ替え方を一つ構成してください。与えられた制約の下で、常に条件をみたすように並べ替えられることができることは保証されています。

制約

  • 1N,M1001 \leq N,M \leq 100
  • 1AijNM1 \leq A_{ij} \leq NM
  • AijA_{ij} は相異なる

入力

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

NN MM

A11A_{11} A12A_{12} ...... A1MA_{1M}

::

AN1A_{N1} AN2A_{N2} ...... ANMA_{NM}

出力

以下の形式で並べ替え方を出力せよ。

B11B_{11} B12B_{12} ...... B1MB_{1M}

::

BN1B_{N1} BN2B_{N2} ...... BNMB_{NM}

C11C_{11} C12C_{12} ...... C1MC_{1M}

::

CN1C_{N1} CN2C_{N2} ...... CNMC_{NM}

ただし、BijB_{ij} は手順 11 を行った後に上から ii 行目、左から jj 行目にあるマスに書かれている数であり、 CijC_{ij} は手順 22 を行った後に上から ii 行目、左から jj 行目にあるマスに書かれている数である。

3 2
2 6
4 3
1 5
2 6 
4 3 
5 1 
2 1 
4 3 
5 6
3 4
1 4 7 10
2 5 8 11
3 6 9 12
1 4 7 10 
5 8 11 2 
9 12 3 6 
1 4 3 2 
5 8 7 6 
9 12 11 10