返回首页 返回题库

有序网格

C++ 简单 GESP四级真题 #二维数组#排序

题目描述

题面描述

小A有一个行列格子组成的二维网格,从上到下依次是第1行到第行,从左到右依次是第1列到第列。每个格子里有一个数字,第行第列的格子里的数字是。

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

初始网格:
1 3 2 5
6 2 4 4
5 4 1 3
每行升序排序后:
1 2 3 5
2 4 4 6
1 3 4 5
每列升序排序后:
1 2 3 5
1 3 4 5
2 4 4 6

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

输入格式

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

接下来行,每行个整数,表示二维网格中的数字。

输出格式

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

样例1

输入:

3 2
6 5
4 3
2 1

输出:

1 2
3 4
5 6

样例2

输入:

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

输出:

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

数据范围

对于所有测试点,保证,,。

时间限制

1.0 s

内存限制

512.0 MB

💡 查看提示(先自己想一想再看)
本题考察二维数组的操作与基础排序算法。解题思路为先遍历每一行对行内元素进行升序排序,再遍历每一列对列内元素进行升序排序,最后输出处理后的二维数组即可。可以使用冒泡排序实现排序逻辑,也可以直接调用标准库的排序函数简化代码。注意输出时同一行的数字之间用空格分隔,每行末尾不要有多余空格。
⚙ 开始做这道题 0 人做过 · 1 收藏 · 16 浏览

讨论(0)