atcoder#ABC237B. [ABC237B] Matrix Transposition

[ABC237B] Matrix Transposition

配点 : 200200

問題文

HHWW 列の行列 AA が与えられます。 AA の上から ii 行目、左から jj 列目の要素は Ai,jA_{i,j} です。

ここで、WWHH 列の行列 BB を、上から ii 行目、左から jj 列目の要素が Aj,iA_{j,i} と一致するような行列として定めます。 すなわち、BBAA の転置行列です。

BB を出力してください。

制約

  • 1H,W1051\leq H,W \leq 10^5
  • H×W105H \times W \leq 10^5
  • 1Ai,j1091 \leq A_{i,j} \leq 10^9
  • 入力は全て整数である

入力

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

HH WW

A1,1A_{1,1} A1,2A_{1,2} \ldots A1,WA_{1,W}

A2,1A_{2,1} A2,2A_{2,2} \ldots A2,WA_{2,W}

\vdots

AH,1A_{H,1} AH,2A_{H,2} \ldots AH,WA_{H,W}

出力

BB を以下の形式で出力せよ。

B1,1B_{1,1} B1,2B_{1,2} \ldots B1,HB_{1,H}

B2,1B_{2,1} B2,2B_{2,2} \ldots B2,HB_{2,H}

\vdots

BW,1B_{W,1} BW,2B_{W,2} \ldots BW,HB_{W,H}

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

たとえば A2,1=4A_{2,1}=4 なので、転置行列 BB の上から 11 行目、左から 22 列目の要素は 44 になります。

2 2
1000000000 1000000000
1000000000 1000000000
1000000000 1000000000
1000000000 1000000000