logo AlgoBeat OnlineJudge
登录 注册

#214601. [CSP-X2025 山东] IOI 串

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

小明对字符串 IOI 怀有特殊的感情,他定义一种由大写英文字母 IO 构成的字符串为“好串”,当且仅当它可以被划分为三个非空部分,依次为:

第一部分:连续非零个 I

第二部分:连续非零个 O

第三部分:连续非零个 I

如:

IIIOOIIII 是一个好串,IOI 也是一个好串;

OIOIIIO 都不是好串。

现在,小明有一个长度为 的字符串 ,且 仅包含字符 IO

他可以进行任意次修改操作,每一次操作可将字符串中某一个位置的字符替换成另一个字符(即把 I 改为 O,或把 O 改为 I)。

例如:

时,根据上述定义, 不是一个“好串”,但小明可以有多种方法通过修改操作把 变为“好串”:

方法 1:把第 7 个字符 I 改为 O,经过 1 次操作得到 IIIOOOOOOII

方法 2:分别把第 8 个和第 9 个字符 O 改为 I,经过 2 次操作得到 IIIOOOIIIII

可以确定,至少经过 1 次修改操作才能把上面的字符串 变为“好串”。

你的任务:

告诉你小明的字符串 ,请你帮小明计算,至少需要进行多少次修改操作,才能将字符串 变为一个“好串”。如果 已经是一个“好串”,输出

输入格式

一行,仅由 IO 两种字符组成的字符串

输出格式

一行,包含一个整数,表示把字符串 修改为“好串”需要的最少的修改次数。

样例

样例输入 1

IIIOOOIOOII

样例输出 1

1

样例输入 2

IOOIOOIOOOII

样例输出 2

2

数据范围与提示

【样例 3】

见选手目录下的 ioi/ex_ioi3.inioi/ex_ioi3.ans

【样例 4】

见选手目录下的 ioi/ex_ioi4.inioi/ex_ioi4.ans

【数据范围】

对于所有的数据,字符串的长度 满足 ,且字符串中仅包含大写英文字母 IO

::cute-table{tuack}

测试点 特殊性质
字符全部为 I
字符全部为 O