#B4580. [GESP202609 四级] 有序网格

[GESP202609 四级] 有序网格

题目描述

小 A 有一个 nnmm 列格子组成的二维网格,从上到下依次是第 11 行到第 nn 行,从左到右依次是第 11 列到第 mm 列。每个格子里有一个数字,第 ii 行第 jj 列的格子里的数字是 ai,ja_{i,j}

小 A 想让二维网格变得有序,因此他先对每一行从左到右按升序排序,再对每一列从上到下按升序排序。以下是一个先完成行排序再完成列排序的例子:

$$\begin{array}{|c|c|c|c|}\hline 1&3&2&5\\\hline 6&2&4&4\\\hline 5&4&1&3\\\hline\end{array}\xrightarrow{\text{每行升序排序}}\begin{array}{|c|c|c|c|}\hline 1&2&3&5\\\hline 2&4&4&6\\\hline 1&3&4&5\\\hline\end{array}\xrightarrow{\text{每列升序排序}}\begin{array}{|c|c|c|c|}\hline 1&2&3&5\\\hline 1&3&4&5\\\hline 2&4&4&6\\\hline\end{array}$$

小 A 想知道二维网格经过以上排序后的结果。你能编写程序帮助他吗?

输入格式

第一行,两个正整数 n,mn,m,分别表示二维网格的行数与列数。

接下来 nn 行,每行 mm 个整数 ai,1,,ai,ma_{i,1},\ldots,a_{i,m},表示二维网格中的数字。

输出格式

输出 nn 行,每行 mm 个整数,表示二维网格先完成行排序再完成列排序后的结果。

输入输出样例 #1

输入 #1

3 2
6 5
4 3
2 1

输出 #1

1 2
3 4
5 6

输入输出样例 #2

输入 #2

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

输出 #2

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

说明/提示

数据范围

对于所有测试点,保证 2n102 \le n \le 102m102 \le m \le 101ai,j1001 \le a_{i,j} \le 100