#D. [ROI 2024] 2026 (Day 1)

    Type: RemoteJudge 2000ms 512MiB

[ROI 2024] 2026 (Day 1)

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.

题目背景

翻译自 ROI 2024 D1T2

一款新的游戏《2026》在一个 mmnn 列的矩形盘面上进行。盘面被划分为 m×nm \times n1×11 \times 1 的小格子。在一些格子上放置了大小为 1×11 \times 1 的方块,每个方块上写有一个英文字母。

你需要进行 qq 次操作,每次操作都是将所有方块向一个方向移动到底。因此,操作序列由一个长度为 qq 的字符串 ss 给出,字符串中每个字符表示一个方向:L 表示向左移,R 表示向右移,U 表示向上移,D 表示向下移。

具体操作与游戏《2048》相类似:在棋盘上,只要有一个方块在指定方向上相邻的格子是空的,该方块就会移动到该空格子上,包括它后面的那些方块也会连带着向那个方向一起移动,直到前方没有空格。

题目描述

给出棋盘的初始状态和操作序列,请确定所有操作执行完成后盘面的状态。

输入格式

输入包含多组数据。

  • 第一行输入一个整数 tt ,表示测试数据的组数(1t2000001 \le t \le 200 000)。
  • 对于每组数据:
    • 第一行输入整数 mmnn,代表盘面的大小(1m,n1061 \le m, n \le 10^61m×n1061 \le m \times n \le 10^6)。
    • 接下来的 mm 行,输入盘面的初始状态:
      • 其中的第 ii 行(1im1 \le i \le m)包含一个长度为 nn 的字符串 ai1ai2aina_{i1}a_{i2}\dots a_{in},表示第 ii 行的盘面状态。
      • 每个字符 aija_{ij} 要么是小写英文字母(从 az),要么是点号 .。如果 aija_{ij}.,则表示第 ii 行第 jj 列的格子为空,否则表示该格子上有一个标有字母 aija_{ij} 的方块。
    • 最后一行输入一个字符串 ss,由 qq 个字符组成,表示操作的序列(1q1061 \le q \le 10^6)。每个字符都是 LRUD 之一。

所有测试数据中 m×nm \times n 的总和不超过 2×1062 \times 10^6qq 的总和不超过 2×1062 \times 10^6

输出格式

对于每组数据,输出执行完所有操作后的盘面,格式与输入相同。

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
.......

提示

样例解释:

在第一组输入数据中,盘面最初看起来是这样的:

第一次操作将所有方块向左移动。接着,盘面会变成这样:

第二次操作将所有方块向右移动。接着,盘面会变成这样:

第三次,也是最后一次操作将所有方块向上移动。所有操作结束后,盘面会变成这样:

子任务 分值 特殊性质
11 99 t=1,q=1,n,m100t=1,q=1,n,m\le100
22 77 sis_i 只可能为 LR
33 1313 mnq107\sum mnq\le10^7
44 1414 sis_i 只可能为 LRU
55 1212 棋盘上所有字母都是 amq107\sum mq\le10^7
66 1111 棋盘上所有字母都是 a
77 99 棋盘初始状态是“阶梯状”的,具体地,第 ii 行仅最左侧恰有 i1i-1 个字母
88 1414 ss 是重复若干次的 LURD
99 1111

NOIP赛前信心赛

Not Attended
Status
Done
Rule
OI
Problem
4
Start at
2025-11-26 13:00
End at
2025-11-26 17:00
Duration
4 hour(s)
Host
Partic.
11