[R20D]矩阵移位
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
时空限制
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
数据规模
对于 的数据,。
对于 的数据,, ,,且字符矩阵内仅包含大写字母。
代码源挑战赛 Round 20
- Status
- Done
- Rule
- DMY
- Problem
- 7
- Start at
- 2025-7-11 20:00
- End at
- 2025-7-11 21:30
- Duration
- 1.5 hour(s)
- Host
- Partic.
- 623