#ATagc037d. [AGC037D] Sorting a Grid

[AGC037D] Sorting a Grid

题目描述

有一个 NNMM 列的网格。这个网格中,每个格子里写有一个从 11NMNM 的整数,每个整数恰好出现一次。第 ii 行第 jj 列的格子中写的数为 AijA_{ij}

你需要按照以下步骤对这个网格进行重新排列:

  1. 首先,对每一行,你可以任意重新排列该行中的数字。
  2. 接着,对每一列,你可以任意重新排列该列中的数字。
  3. 最后,对每一行,你可以再次任意重新排列该行中的数字。

最终,你需要使得第 ii 行第 jj 列的格子中写的数为 M×(i1)+jM \times (i-1) + j。请构造一种满足要求的排列方式。在给定的限制下,保证总是可以完成这样的排列。

输入格式

输入通过标准输入给出,格式如下:

NN MM A11A_{11} A12A_{12} \ldots A1MA_{1M} :: AN1A_{N1} AN2A_{N2} \ldots ANMA_{NM}

输出格式

请输出排列的过程,格式如下:

B11B_{11} B12B_{12} \ldots B1MB_{1M} :: BN1B_{N1} BN2B_{N2} \ldots BNMB_{NM} C11C_{11} C12C_{12} \ldots C1MC_{1M} :: CN1C_{N1} CN2C_{N2} \ldots CNMC_{NM}

其中,BijB_{ij} 表示经过步骤 1 后第 ii 行第 jj 列的格子中的数字,CijC_{ij} 表示经过步骤 2 后第 ii 行第 jj 列的格子中的数字。

样例 1

输入

3 2
2 6
4 3
1 5

输出

2 6 
4 3 
5 1 
2 1 
4 3 
5 6

样例 2

输入

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

说明/提示

限制条件

  • 1N,M1001 \leq N, M \leq 100
  • 1AijNM1 \leq A_{ij} \leq NM
  • AijA_{ij} 互不相同。

由 ChatGPT 4.1 翻译