#L4179. 「ROI 2024 Day1」2026
「ROI 2024 Day1」2026
4179. 「ROI 2024 Day1」2026
题目描述
译自 ROI 2024 Day1 T2. 2026
在 年,一款名为《2026》的新型棋盘游戏在一个由 行 列的矩形棋盘上进行。这个棋盘分为 个大小为 的小格子。在一些格子中放置着大小同样为 的方块棋子,每个棋子上标记有 个英文字母中的一个。
游戏中包含 次操作,每次操作将所有棋子向四个基本方向之一(左、右、上、下)移动至边界。因此,操作序列由长度为 的字符串 给出,该字符串由四个字符组成: —— 向左, —— 向右, —— 向上, —— 向下。
具体操作如下:只要棋盘上有至少一个棋子并且该方向的相邻格子为空,该棋子就会向那个空格子移动。
请确定所有操作完成后棋盘的样子。
输入格式
输入包含多组数据。第一行包含一个整数 ,表示数据组数。每组数据的格式如下:
- 第一行包含两个整数 。
- 接下来的 行描述了棋盘上棋子的初始位置。
第 行包含长度为 的字符串 ,代表棋盘第 行。每个字符 要么是小写英文字母 到 ,要么是点 表示空格,即第 行第 列的格子为空。 - 最后一行提供了长度为 的字符串 ,无空格,表示操作序列 。每个字符 是 中的一个。
所有输入数据组的 值之和不超过 。所有输入数据组的 之和不超过 。
输出格式
对于每组输入数据,在执行所有操作后,以与输入数据相同的格式输出棋子在棋盘上的最终位置。
样例
输入
4
4 4
.a.b
..e.
....
.cd.
LRU
1 1
.
UULLRRDD
1 6
.a.aa.
LLURDDD
5 7
.ba.b..
ac..c.d
e......
....da.
d.eae..
DLDDRULRRR
输出
..ab
..ce
...d
....
.
...aaa
dceebab
...aeac
.....ad
......d
.......
解释
在第一组输入数据中,棋盘最初看起来是这样的:

第一次操作将所有棋子向左移动,因为 。执行后,棋盘将如下所示:

第二次操作将所有棋子向右移动,因为 。执行后,棋盘将如下所示:

第三次也是最后一次操作将所有棋子向上移动,因为 。执行后,棋盘将如下所示:

数据范围与提示
令 表示所有输入数据组的 之和。令 表示所有输入数据组的 之和。
如果 ,对于所有 ,,对于所有 ,,则称棋盘为「阶梯状」。换句话说,所有棋子都位于棋盘主对角线以下的单元格上,并且每个主对角线以下的单元格上都有一个棋子。
详细子任务附加限制及分值如下表所示。其中子任务 是样例。
| 子任务 | 分值 | 附加限制 | 子任务依赖 |
|---|---|---|---|
| 1 | 9 | , , | |
| 2 | 7 | , | |
| 3 | 13 | 1 | |
| 4 | 14 | 2 | |
| 5 | 12 | 棋盘上每个字符都为 , | |
| 6 | 11 | 棋盘上每个字符都为 | 5 |
| 7 | 9 | 棋盘的初始状态为「阶梯状」 | |
| 8 | 14 | 是 重复若干次 | |
| 9 | 11 | 无特殊限制 | 1–8 |