1 条题解
-
0
自动搬运
来自洛谷,原作者为

chen_zhe
Aya 敲可爱的~搬运于
2025-08-24 21:15:44,当前版本为作者最后更新于2023-11-13 20:44:23,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
Source & Knowledge
2023 年 11 月语言月赛,由洛谷网校入门计划/基础计划提供。
考察数组的运用。
文字题解
我们分别实现题目中给定的两个操作。
合并操作
观察题目中给定的合并操作的描述,我们会发现以下的特征:我们可以将原表格划分成若干 的小表格。每个表格仅会保留最左上角的那个位置。其他的三个数会被加入到表格最左上角的值。以样例为例:
$\begin{bmatrix}\blue2 & \blue7 & \red1 & \red8 \\ \blue1 & \blue8 & \red2 & \red8 \\ \green3 & \green1 & \purple4 & \purple1 \\ \green5 & \green9 & \purple2 & \purple6 \end{bmatrix}$
我们用四种不同的颜色区分出了四个小表格。如果每个表格仅保留最左上的位置,其他的数加入到小表格最左上的值的话,就会变成:
$\begin{bmatrix} \blue{18} & \red{19} \\ \green{18} & \purple{13}\end{bmatrix}$
这恰恰与合并操作做的是相同的。因此,我们无需真的去删除偶数行和偶数列,仅仅需要通过这种方式我们就可以自然地完成合并操作。
而至于转置操作,我们可以根据题目含义,交换矩阵中的行和列,进行输出即可。
本题的坑点有两个:
-
题目中给定的变量是 和 ,但是实际上表格 是 行 列的,因此数组的每个维度要开到 和 限制的两倍大小,才能保证数组不越界;
-
题目中的样例,给定的情况都是 的,如果转置操作写的有问题(例如说,输出不是 行 列的表格 ,而不小心打成了 行 列),那么可能无法检查出错误。
详细的代码请参考视频题解。
-
- 1
信息
- ID
- 9401
- 时间
- 3000ms
- 内存
- 512MiB
- 难度
- 1
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者