传统题 1000ms 256MiB

串口命令编辑器

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目背景

学长在串口里发送了一条控制命令,却发现顺序写反了,还有一段需要删掉。重新输入太麻烦,于是他决定用几条编辑操作修好它。请你实现这个简易的命令编辑器。

题目描述

给定一个初始命令字符串,按照输入顺序依次执行 q 条编辑操作。字符串中的字符下标从 0 开始,每条操作使用的下标都以执行该操作前的字符串为准。

支持四种操作:

  1. INSERT p s:在下标 p 对应的字符之前插入字符串 s。若 p 等于当前字符串长度,则在末尾插入。空字符串只允许在位置 0 插入。
  2. DELETE l r:删除下标 l 到 r 的所有字符,包含两个端点。
  3. REVERSE l r:将下标 l 到 r 的字符顺序反转,包含两个端点。
  4. REPLACE l r s:删除下标 l 到 r 的所有字符,并在原位置插入字符串 s。

所有命令字符串仅包含大写英文字母。请输出执行全部操作后的字符串。

输入格式

第一行输入一个非空字符串,表示初始命令。

第二行输入一个整数 q,表示操作条数。

接下来 q 行,每行输入一条操作,格式见题目描述。

保证所有操作的下标合法:插入操作满足 0 ≤ p ≤ 当前长度;其余三种操作满足 0 ≤ l ≤ r < 当前长度。

输出格式

输出最终字符串。如果最终字符串为空,则输出 EMPTY。

样例

LEDSTOP
4
INSERT 3 GO
DELETE 5 6
REVERSE 0 2
REPLACE 3 4 RUN
DELRUNOP

样例解释

四次操作后的字符串依次为 LEDGOSTOP、LEDGOOP、DELGOOP、DELRUNOP。

数据范围与限制

  • 初始字符串长度在 1 到 100 之间;
  • 1 ≤ q ≤ 100;
  • 插入或替换用的字符串 s 的长度在 1 到 100 之间;
  • 任意一次操作后,当前字符串的长度不超过 1000,可以为空;
  • 时间限制:1 秒;内存限制:256 MiB。

ASC2026考核C语言最终考核

未参加
状态
已结束
规则
ACM/ICPC
题目
10
开始于
2026-10-8 20:00
结束于
2026-10-12 0:00
持续时间
76 小时
主持人
参赛人数
283