Problem E: 平衡奇偶位置的字符交换

Memory Limit:256 MB Time Limit:2.000 S
Submit:30 Solved:17

Description

给定一个字符串 S,其中仅包含字符 A 和字符 B。你每次可以选择交换两个位置相邻的字符,请计算如果要使奇数位置上(位置从 1 开始)字符 A 的数量等于偶数位置上字符 A 的数量,最少需要进行多少次交换操作。

例如:S=AABABA,从左往右数,奇数位置上字符 A 的数量为 1(位置 1),偶数位置上字符 A 的数量为 3(位置 2、4、6)。可将位置 2 的字符 A 和位置 3 的字符 B 交换。交换后,奇数位置上字符 A 的数量和偶数位置上字符 A 的数量都为 2,满足题目要求,故最少需要交换一次。

Input

输入一个字符串 S(2≤S 的长度 ≤105),其中仅包含字符 A 和字符 B。

Output

输出一个整数,表示满足题目要求的最少交换次数,如果无论怎么交换都无法满足题目要求,则输出 −1。

Sample Input Copy

AABABA

Sample Output Copy

1

Source/Category