小明对字符串"IOI"怀有特殊的感情,他定义一种由大写英文字母 'I' 和 'O' 构成的 字符串为 “好串” ,当且仅当它可以被划分为三个非空部分,依次为:
第一部分:连续若干个 'I'
第二部分:连续若干个 'O'
第三部分:连续若干个 'I'
如: "IIIOOIIII" 是一个好串,"IOI"也是一个好串; "OIOI","IIO" 都不是好串。
现在,小明有一个长度为 n 的字符串 S,且 S 仅包含字符 'I' 和 'O'。 他可以进行任意次修改操作,每一次操作可将字符串中某一个位置的字符替换成另一个字符(即把 'I' 改为 'O',或把 'O' 改为 'I')。 例如: 当 S="IIIOOOIOOII" 时,根据上述定义,S 不是一个“好串”,但小明可以有多种方法 通过修改操作把 S 变为“好串”:
方法 1:把第 7 个字符 'I' 改为 'O',经过 1 次操作得到 "IIIOOOOOOII";
方法 2:分别把第 8 个和第 9 个字符 'O' 改为 'I',经过 2 次操作得到 "IIIOOOIIIII"。
可以确定,至少经过 1 次修改操作才能把上面的字符串 S 变为“好串”。
你的任务:
告诉你小明的字符串 S,请你帮小明计算,至少需要进行多少次修改操作,才能将字符串 S 变为一个“好串”。如果 S 已经是一个“好串”,输出 0.