A7478 | 皓仔的矩阵魔法
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
皓仔得到了一张 $n$ 行 $m$ 列的数字矩阵。
接下来,皓仔会对这个矩阵进行 $q$ 次操作。每次操作都会指定一个子矩阵,并对这个子矩阵中的所有数字进行修改。
一次操作会给出 $6$ 个整数:
其中:
-
- $(x_1,y_1)$ 表示子矩阵左上角的位置;
- $(x_2,y_2)$ 表示子矩阵右下角的位置;
- $v$ 表示操作中使用的数值。
操作类型共有 $3$ 种:
- 如果
- 如果
- 如果
所有操作完成后,请你输出最终的矩阵。
接下来,皓仔会对这个矩阵进行 $q$ 次操作。每次操作都会指定一个子矩阵,并对这个子矩阵中的所有数字进行修改。
一次操作会给出 $6$ 个整数:
op x1 y1 x2 y2 v其中:
-
op 表示操作类型;- $(x_1,y_1)$ 表示子矩阵左上角的位置;
- $(x_2,y_2)$ 表示子矩阵右下角的位置;
- $v$ 表示操作中使用的数值。
操作类型共有 $3$ 种:
- 如果
op=1,表示把子矩阵中每个数都加上 $v$;- 如果
op=2,表示把子矩阵中每个数都减去 $v$;- 如果
op=3,表示把子矩阵中每个数都赋值为 $v$。所有操作完成后,请你输出最终的矩阵。
输入格式
第一行输入三个整数 $n,m,q$,分别表示矩阵的行数、列数和操作次数。
接下来 $n$ 行,每行输入 $m$ 个整数,表示初始矩阵。
接下来 $q$ 行,每行输入 $6$ 个整数:
表示一次矩阵操作。
接下来 $n$ 行,每行输入 $m$ 个整数,表示初始矩阵。
接下来 $q$ 行,每行输入 $6$ 个整数:
op x1 y1 x2 y2 v表示一次矩阵操作。
输出格式
输出 $n$ 行,每行 $m$ 个整数,表示所有操作完成后的矩阵。
同一行相邻两个整数之间用一个空格隔开。
同一行相邻两个整数之间用一个空格隔开。
输入输出样例
输入 #1
3 4 3 1 2 3 4 5 6 7 8 9 10 11 12 1 1 1 2 2 3 2 2 3 3 4 2 3 1 4 3 4 0
输出 #1
4 5 3 0 8 9 5 0 9 10 9 0
【数据范围】
对于所有测试数据保证:
对于全部数据,保证:
- $1 \le n,m \le 50$
- $1 \le q \le 100$
- $1 \le x_1 \le x_2 \le n$
- $1 \le y_1 \le y_2 \le m$
-
- 初始矩阵中的元素范围为 $-10^6$ 到 $10^6$
- $-10^6 \le v \le 10^6$
对于所有测试数据保证:
对于全部数据,保证:
- $1 \le n,m \le 50$
- $1 \le q \le 100$
- $1 \le x_1 \le x_2 \le n$
- $1 \le y_1 \le y_2 \le m$
-
op 只可能是 $1,2,3$- 初始矩阵中的元素范围为 $-10^6$ 到 $10^6$
- $-10^6 \le v \le 10^6$
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?