AT_ttpc2015_c.おおおかやま
普及-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在 okayama 国的首都 okayama,有一种字符串被称为“好字符串”,它是指在字符串 ookayama 的开头添加任意个(至少 1 个)o 字符后得到的字符串。
你的任务是编写一个程序,按照以下规则处理字符串 S。
- 步骤 1:如果 S 的某个子串是好字符串,则进入步骤 2;如果不存在好字符串,则处理结束。
- 步骤 2:在 S 的所有好字符串子串中,选择长度最长的那个,记为 T。如果有多个长度相同的,选择最靠左的那个。
- 步骤 3:如果 T 中存在子串
oo,则将最左侧的oo替换为O,然后进入步骤 4;如果不存在,则回到步骤 1。 - 步骤 4:如果 T 中存在子串
OO,则将最左侧的OO替换为o。无论是否存在,都回到步骤 3。
请输出处理结束后的 S。至于这个处理结果的用途属于机密信息,你无需知晓。
当某个字符串 T 是 S 的第 i 个字符到第 j 个字符(1≤i≤j≤∣S∣)所组成的字符串时,称 T 是 S 的子串。这里 ∣S∣ 表示字符串 S 的长度。
输入格式
输入从标准输入读入,格式如下:
S
第 1 行给出需要处理的字符串 S(1≤∣S∣≤100)。保证 S 仅由小写英文字母组成。
输出格式
请输出处理结束后的 S,占一行。不要忘记换行。
输入输出样例
输入#1
ooookayama
输出#1
okayama
输入#2
ooookayamaoooookayama
输出#2
okayamaOkayama
输入#3
okayama
输出#3
okayama
输入#4
ookayama
输出#4
ookayama
输入#5
ooookayamakenooooookayamashiookayama
输出#5
okayamakenOokayamashiookayama
说明/提示
样例解释 1
对于字符串 ooookayama,处理过程如下:
- 步骤 1:S 的子串中存在好字符串。
- 步骤 2:所有好字符串子串中,最长的是从第 1 个
o开始的ooookayama,记为 T。 - 步骤 3:T 中最左侧的
oo被替换为O,T 变为Oookayama。 - 步骤 4:T 中不存在
OO。 - 步骤 3:T 中最左侧的
oo被替换为O,T 变为OOkayama。 - 步骤 4:T 中最左侧的
OO被替换为o,T 变为okayama。 - 步骤 3:T 中不存在
oo。 - 步骤 1:S 变为
okayama,其子串中不存在好字符串,处理结束。
样例解释 2
S 的子串中可能存在多个好字符串。请注意要从最长且最靠左的那个开始处理。另外,虽然输入中不会出现大写字母,但在答案或处理中可能会出现。
样例解释 3
字符串 okayama 的子串中不存在好字符串。
样例解释 4
字符串 ookayama 的子串中不存在好字符串。因为好字符串是指在 ookayama 的开头添加至少 1 个 o 后得到的字符串,所以 ookayama 不满足条件。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?