QOJ.ac

QOJ

حد الوقت: 2.0 s حد الذاكرة: 256 MB مجموع النقاط: 100

#12760. 纠正好奇心

الإحصائيات

好奇号(Curiosity)是一辆正在火星盖尔撞击坑(Gale Crater)进行探测的火星车。最近,它在火星土壤中发现了水的证据,这将使未来载人任务的规划变得更加容易。

好奇号可以直接与地球通信,速度最高可达 32 Kbit/s,但信号在地球和火星之间传输平均需要 14 分钟 6 秒。

“你刚刚看到一块石头并踩下了刹车,但你知道火星车已经经过了那块石头,”火星车驾驶员 Matt Heverly 解释道,“所以我们只是规划路线,然后写下一系列简单的文本指令:向前移动一米、向左转、拍照等等。”

有时需要对一些突发事件做出非常快速的反应。例如,如果摄像头看到了有趣的东西,你可能想要改变火星车的路线以拍摄额外的照片。为此,你可以发送一个格式为 s/string/replacement/g 的替换命令。这会将所有出现的 string(从最左侧开始)替换为 replacement

更正式地说,如果 $A$ 是一个非空字符串,$B$ 是一个字符串,那么将替换命令 s/A/B/g 应用于字符串 $S$ 时,你应该执行以下操作:

  1. 找到 $S$ 中最左侧出现的 $A$,使得 $S = S_L + A + S_R$。
  2. 如果不存在这样的出现,则停止。此时,$S$ 即为结果。
  3. 令 $R$ 为将 s/A/B/g 应用于 $S_R$ 的结果。
  4. 结果为 $S_L + B + R$。

这意味着:

  1. 如果 $S$ 中有两个重叠的 $A$ 出现,则仅替换最左侧的一个。例如,将 “s/aba/c/g” 应用于 “abababa” 会得到 “cbc”:在替换第一个 “aba” 后,字符串变为 “cbaba”,此后只能替换最后一个 “aba”。
  2. 任何替换都不会使用之前替换的结果。例如,将 “s/a/ab/g” 应用于 “a” 得到 “ab”,将 “s/a/ba/g” 应用于 “a” 得到 “ba”。

你知道命令越长,传输所需的时间就越长。因此,你必须编写一个程序,找到将初始字符串转换为最终字符串的最短命令。

输入格式

第一行包含初始字符串和最终字符串。两个字符串均为非空,且长度不超过 2000 个字符。字符串仅包含英文字母、空格和标点符号(逗号、冒号、分号和连字符:‘,’, ‘:’, ‘;’, ‘-’)。给定的两个字符串不相等。

输出格式

输出将初始字符串转换为最终字符串且长度最短的替换命令。如果有多个最短替换命令,输出其中任意一个。

样例

输入 1

move left, move right; move up
move left, move down, move up

输出 1

s/right;/down,/g

输入 2

If not found: move x; else move -x
If found: move x; else move -x

输出 2

s/ not//g

输入 3

abababa
cbc

输出 3

s/aba/c/g

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.