#118. [R20D]矩阵移位
[R20D]矩阵移位
时空限制
1S/512M
题目描述
给定一个大小为 的字符矩阵,你需要依次执行 次操作。每次操作有两种类型:
- 操作类型 :
1 l r k
对第 行到第 行(包括两端)的每一行,进行如下处理:
将该行中的所有元素向右循环平移 次。
一次向右循环平移指的是每一行中最右侧的字符会移到最左侧,其余字符依次向右平移。
- 操作类型 :
2 l r k
对第 列到第 列(包括两端)的每一列,进行如下处理:
将该列中的所有元素向下循环平移 次。
一次向下循环平移指的是每一列中最下方的字符会移到最上方,其余字符依次向下平移。
请你在所有操作执行完成后,输出最终的字符矩阵。
格式
输入格式
第一行包含两个整数 和 ,表示矩阵的行数和列数。
接下来的 行,每行包含 个大写字母,表示初始矩阵。
第 行是一个整数 ,表示操作次数。
接下来的 行,每行描述一次操作,格式如下:
-
1 l r k
:表示对第 行到第 行右移 次。 -
2 l r k
:表示对第 列到第 列下移 次。
输出格式
输出 行,每行 个字符,表示所有操作完成后的矩阵状态。
样例
样例输入 #1
4 4
ABCD
EFGH
IJKL
MNOP
2
1 2 3 2
2 1 3 5
样例输出 #1
MNOD
ABCF
GHEJ
KLIP
样例解释 #1
对于第一个操作,需要将第 行和第 行的元素向右循环移位 次
- 第 行:
E F G H
→G H E F
- 第 行:
I J K L
→K L I J
更新后矩阵:
ABCD
GHEF
KLIJ
MNOP
对于第二个操作,需要将前 列的元素向下循环移位 次。
- 第 1 列:
A G K M
→M A G K
- 第 2 列:
B H L N
→N B H L
- 第 3 列:
C E I O
→O C E I
更新后的矩阵为:
MNOD
ABCF
GHEJ
KLIP
数据规模
对于 的数据,。
对于 的数据,, ,,且字符矩阵内仅包含大写字母。
Related
In following contests: