#P1042. 数组操作
显示设置
本题导航点一下展开
我的笔记
✕
数组操作
题目描述
小P有一个 行 列的二维序列 。现在他给你一些操作,你需要按顺序完成全部操作,并输出最终的二维序列。
操作共有四种:
1 k r l:- 若
l=1,表示将第 行的所有数增加 ; - 若
l=2,表示将第 列的所有数增加 。 2 k:表示将所有数增加 。3 k l:- 若
l=1,表示将第 行的所有数翻转(倒序); - 若
l=2,表示将第 列的所有数翻转(上下颠倒)。 4 k r l:- 若
l=1,表示将第 行的所有数相加,把结果存入第 行第 个数(该位置原来的数被替换掉,同行其他数不变); - 若
l=2,表示将第 列的所有数相加,把结果存入第 行第 个数。
输入格式
输入共 行。
第一行三个用空格隔开的整数,依次为 。
接下来 行,每行 个用空格隔开的整数,表示初始的二维序列 (第 行第 个数即 )。
接下来 行,每行描述一次操作,格式如题目描述所示。
输出格式
输出共 行,每行 个用空格隔开的整数,表示最终二维序列的第 行。
输入输出样例 #1
输入 #1
3 6 6
2 2 1 7 2 6
2 2 1 7 4 4
2 2 1 7 0 6
1 2 3 1
1 3 3 2
2 1
3 2 1
3 3 2
4 1 1 1
输出 #1
29 3 5 8 3 7
8 8 11 8 6 6
3 3 5 8 1 7
说明
样例解释
初始的二维序列为:
| 第1列 | 第2列 | 第3列 | 第4列 | 第5列 | 第6列 | |
|---|---|---|---|---|---|---|
| 第1行 | 2 | 1 | 7 | 2 | 6 | |
| 第2行 | 4 | |||||
| 第3行 | 0 | 6 | ||||
- 第 次(
1 2 3 1):第 行所有数 ,第 行变成 。 - 第 次(
1 3 3 2):第 列所有数 ,第 列由 变成 。 - 第 次(
2 1):所有数 ,此时序列为
- 第 次(
3 2 1):翻转第 行,得到 。 - 第 次(
3 3 2):翻转第 列,该列三个数都是 ,翻转后不变。 - 第 次(
4 1 1 1):第 行之和为 ,把 存入第 行第 个数。
最终序列即样例输出。
数据范围
- 对于 的数据,。
- 对于 的数据,。
- 对于 的数据,,,操作中的增量满足 ,,下标 均合法。数据保证操作过程中所有数的绝对值始终不超过 。