AT_ttpc2015_c おおおかやま

题目描述

在 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 \leq i \leq j \leq |S|$)所组成的字符串时,称 $T$ 是 $S$ 的子串。这里 $|S|$ 表示字符串 $S$ 的长度。

输入格式

输入从标准输入读入,格式如下: > $S$ 第 $1$ 行给出需要处理的字符串 $S$($1 \leq |S| \leq 100$)。保证 $S$ 仅由小写英文字母组成。

输出格式

请输出处理结束后的 $S$,占一行。不要忘记换行。

说明/提示

### 样例解释 1 对于字符串 `ooookayama`,处理过程如下: 1. 步骤 $1$:$S$ 的子串中存在好字符串。 2. 步骤 $2$:所有好字符串子串中,最长的是从第 $1$ 个 `o` 开始的 `ooookayama`,记为 $T$。 3. 步骤 $3$:$T$ 中最左侧的 `oo` 被替换为 `O`,$T$ 变为 `Oookayama`。 4. 步骤 $4$:$T$ 中不存在 `OO`。 5. 步骤 $3$:$T$ 中最左侧的 `oo` 被替换为 `O`,$T$ 变为 `OOkayama`。 6. 步骤 $4$:$T$ 中最左侧的 `OO` 被替换为 `o`,$T$ 变为 `okayama`。 7. 步骤 $3$:$T$ 中不存在 `oo`。 8. 步骤 $1$:$S$ 变为 `okayama`,其子串中不存在好字符串,处理结束。 ### 样例解释 2 $S$ 的子串中可能存在多个好字符串。请注意要从最长且最靠左的那个开始处理。另外,虽然输入中不会出现大写字母,但在答案或处理中可能会出现。 ### 样例解释 3 字符串 `okayama` 的子串中不存在好字符串。 ### 样例解释 4 字符串 `ookayama` 的子串中不存在好字符串。因为好字符串是指在 `ookayama` 的开头添加至少 $1$ 个 `o` 后得到的字符串,所以 `ookayama` 不满足条件。 由 ChatGPT 4.1 翻译