#P14697. [ICPC 2024 Tehran R] I am Sherlocked

[ICPC 2024 Tehran R] I am Sherlocked

Description

苏格兰场(伦敦警察厅总部)的侦探们告知夏洛克·福尔摩斯,詹姆斯·莫里亚蒂对中央银行发动了一次网络攻击。他们还发现存在一个可以阻止攻击的密码。根据他们的顶级特工的情报,莫里亚蒂将这个密码隐藏在他的一位客户的电话簿中。有趣的是,夏洛克可以接触到这位神秘的客户!

据了解,每个正确的电话号码都有 1111 位数字,并且以数字 00 开头。莫里亚蒂的客户可能在每个电话号码的数字之间使用连字符("-")或空格字符进行分隔。甚至对于电话簿中的某些电话号码,开头的数字 00 可能缺失。例如,电话号码 "09163264128" 可能被写成 "916 32 64 128",甚至 "- 0916-16-32--64 - 128-"。夏洛克并不清楚电话簿的确切内容,但根据他以往的知识,他知道电话簿主人是如何书写电话号码的。

夏洛克与电话簿的主人安排了一次在咖啡馆的友好交谈。与此同时,夏洛克的同事约翰·华生医生偷偷拿走了电话簿。夏洛克指示华生医生将电话簿清理成一个新的、由数字字符组成的清理后序列 CC,存入他的电脑。该序列是零索引的,即第一个元素的索引为零。为此,华生医生应将电话号码按其在电话簿中出现的顺序连续地(不带任何非数字/分隔字符)输入电脑。为了清理电话号码,他应删除所有非数字字符,并在必要时添加开头的 00

根据计划,夏洛克将与这位神秘客户进行一次非正式交谈。一旦他获得关于密码的任何信息,他就会发送给华生医生。为此,华生医生已经准备好了清理后的序列 CC,并将光标置于开头字符处。这个光标可以放置在 CC 的任何字符之前。他需要等待夏洛克的指令来生成输出序列 SS

夏洛克假设华生医生已经制作好了清理后的序列 CC,并基于此发送以下指令之一:

  1. go ii:将光标移动到 CC 中第 ii 个清理后的电话号码的开头。例如,要跳转到 CC 中的第一个电话号码,他会使用 "go 0"。
  2. forward ii:将光标向前移动 ii 位数字。
  3. backward ii:将光标向后移动 ii 位数字。
  4. next ii:从当前位置开始,将接下来的 ii 位数字写入 SS。更具体地说,如果华生医生的光标在位置 cc 之前,他应该选取数字 c,c+1,,c+i1c, c+1, \ldots, c+i-1,但光标位置保持不变。
  5. pick ii jj:如果 i<ji < j,则从当前电话号码(即光标后数字所属的电话号码)的位置 iijj (i,i+1,,ji, i+1, \ldots, j) 将数字写入 SS。否则,他应该写入 (i,i1,,j)(i, i-1, \ldots, j)。同样,光标位置保持不变。注意 0i,j100 \leq i, j \leq 10,且 "pick 0 0" 将选取第一个数字。

为了进行可能的修正,夏洛克也可能发送以下指令:

  • delete ii:从 SS 的末尾删除最后 ii 位数字。

Input Format

输入由电话簿的内容和夏洛克的指令组成。电话簿包含 nn 个电话号码 (1n10001 \leq n \leq 1000),由逗号或换行符分隔。电话簿中的每个电话号码是一个字符串,由 10101111 位数字 (0-9) 以及可能的连字符("-")和/或空格字符组成。电话簿的大小(即电话簿中的字符数)不超过 10610^6 个字符。电话号码列表以单独一行包含单个字符 "#" 结束。

接下来的每一行包含夏洛克的一条指令。他最多会发送 1000010000 条指令。所有指令的参数都是不大于 2000020000 的非负整数。保证夏洛克的所有短信都是上述六种指令形式之一。

Output Format

输出提取出的秘密密码(可能为空),它是一个数字字符串。如果提取出的秘密密码超过 1000010000 位数字,则仅输出前 1000010000 位数字。夏洛克可能会分心并发送有故障的指令。他可能会跳转到一个不存在的电话号码(使用 "go"),或者为 "forward"、"backward"、"next"、"pick" 和 "delete" 发送无效参数,即指令引用了清理后序列 CC 中不存在的数字或电话号码。在这种情况下,你认为莫里亚蒂已经成功,并输出大写的 MISS ME!

0912 358 8908
0872 -3344567,0989112 -2345
9899988782
#
go 0
pick 0 3
next 4
forward 12
next 2
backward 2
pick 0 1
go 3
pick 0 1
delete 1
0912091287090
09242424024
00188990376
#
go 2
next 4
delete 1
MISS ME!

Hint

翻译由 DeepSeek V3 完成