1-5 游游的交换字符
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
游游的交换字符
链接:https://ac.nowcoder.com/acm/contest/60245/C
来源:牛客网
时间限制:C/C++ 1秒
空间限制:C/C++ 262144K
题目描述
游游拿到了一个01串(仅由字符'0'和字符'1'构成的字符串)。游游每次操作可以交换两个相邻的字符,例如,对于字符串"11001"而言,游游可以交换第二个字符和第三个字符变成"10101"。
游游希望最终字符串任意两个相邻的字符都不相同,她想知道最少需要多少操作次数?保证答案是有解的,即最终一定能形成任意两个相邻的字符都不相同的字符串。
输入描述:
一行仅由 '0' 、 '1' 组成的字符串,字符串长度 \(n\) 满足 \(2\leq n\leq200000\)。
输出描述:
游游使得相邻两个字母不等的最少操作次数。
示例1
输入
11100
输出
3
说明
先交换第三个、第四个字符,得到字符串"11010"。
然后交换第二个、第三个字符,得到字符串"10110"。
最后交换第四个、第五个字符,得到字符串"10101"。
总共交换3次。
示例2
输入
01011
输出
2
说明
先交换前两个字符,得到字符串"10011"
然后交换第三个、第四个字符,得到字符串"10101"