AT_yahoo_procon2017_final_a YahooYahooYahoo
题目描述
高桥君有一个字符串 $S$。由于高桥君喜欢字符串 `yahoo`,他想通过编辑 $S$,把它变成由若干个 `yahoo` 拼接而成的字符串。这里,由 `yahoo` 的若干次拼接得到的字符串,指将 `yahoo` 拼接 $0$ 次或更多次所获得的所有字符串。例如,按短到长的顺序分别是:空字符串、`yahoo`、`yahooyahoo`、……。
高桥君每次操作可以执行以下三种操作之一:
- 选择 $S$ 的任意一个字符,将其修改为任意一个小写英文字母。
- 删除 $S$ 的任意一个字符。
- 在 $S$ 的任意位置插入任意一个小写英文字母。
请你求出,为了将 $S$ 变为由 `yahoo` 若干次拼接而成的字符串,最少需要多少次操作。
输入格式
输入为如下格式,内容从标准输入读入:
> $S$
输出格式
输出一个整数,表示将 $S$ 变为由 `yahoo` 若干次拼接而成的字符串所需的最少操作次数。
说明/提示
## 限制条件
- $1 \leq |S| \leq 10^5$
- $S$ 由小写英文字母组成
## 样例解释 1
例如,可以这样操作:
- 将第 2 个字符 `f` 修改为 `h`,$S$ 变为 `yhoo`。
- 在第 1 个字符和第 2 个字符之间插入 `a`,$S$ 变为 `yahoo`。
## 样例解释 2
删除第 1 个字符 `z` 后,$S$ 变为空字符串,这就是由 `yahoo` 零次拼接得到的字符串。
由 ChatGPT 5 翻译