编程题
### 问题描述 小蓝是军队里的军犬驯化师。一天小蓝接到了一个任务,说是让训化一批军犬。小蓝通过观察,这批将被训练的狗狗的性格要么非常凶猛(用 $1$ 表示),要么非常软弱(用 $0$ 表示)。而如果两只凶猛的狗狗在一起必将变得更加凶残,如果两只软弱的狗狗在一起必将变得更加软弱。因此,相邻的狗狗不应该是同种性格的狗狗。 根据小蓝多年的训犬经验,她对军犬的驯化有如下方式: 首先,让这批军犬按编号排成一排。 其次,通过一只一只的训练将这一排任意两个相邻的狗狗的性格都是不同的。 最终,便可以达到训练有素的军犬。 小蓝唯一的问题是:如果每只狗狗的训练代价和编号相同并且编号从 $1$ 开始。即: $1\leq i$ ,对于第 $i$ 只狗狗的训练代价为 $i$ 。那么小蓝通过训练有限只狗狗最少需要耗费多少的代价才能达到上述效果呢? ### 输入格式 第一行一个 $n$ ,表示有多少只狗狗。 第二行是一个只有 $0$ $1$ 字符的字符串 $s$ ,其中第 $i$ 个字符是 $s[i]$ 表示第 $i$ 只狗狗的性格。 ### 输出格式 一个整数,表示最少的代价。 ### 样例输入 ```text 4 1100 ``` ### 样例输出 ```text 5 ``` ### 说明 对于上述样例,训练第 $2$ 和第 $3$ 只或第 $1$ 和第 $4$ 只的代价最低,训练他们的代价依次为 $1$ , $2$ , $3$ , $4$ 。所以,最少的代价为 $2+3$ 或 $1+4$ 等于 $5$ 。 ### 评测数据规模 对于 $100$% 的评测数据, $1\leq n\leq 10^6$ 。
查看答案
赣ICP备20007335号-2