小红定义一个仅由字符 和 组成的字符串(简称 01 串)为华撃串,当且仅当其恰好包含三个 或 子串。换句话说,一个 01 串为华撃串,当且仅当 等于 。其中, 表示字符串中 子串的数量, 表示字符串中 子串的数量。 现在,小红拿到了一个长为 的 01 串,他想要将其变为一个华撃串。为此,他可以进行以下操作: 选择任意一个位置,将其反置(若该位置的字符为 ,反置后为 ;若该位置的字符为 ,反置后为 )。 我们可以证明,当字符串长度大于等于 时,一定可以通过若干次这样的操作,将原串变为华撃串。小红想知道最少的操作次数是多少。
输入描述:
第一行输入一个整数 ,表示字符串的长度。第二行输入一个长度为 的 01 串 。
输出描述:
输出一个整数,表示最少翻转次数。
示例1
说明
在这个样例中,原 01 串已经是华撃串,不需要操作。
加载中...