#JXGQ24015. 垃圾分类挑战
垃圾分类挑战
题目描述
强哥是学校环保社的成员,他负责将垃圾分类整理。 有 个垃圾桶排成一行,从左到右编号为 到 。
在垃圾桶 到 中,每个桶里各有一件垃圾。
对于每个 ,如果 是 W
,表示桶 中的垃圾是可回收物(白色标记);如果 是 B
,表示桶 中的垃圾是不可回收物(黑色标记)。
垃圾桶 和 是空的。
强哥可以进行任意次(包括 次)如下操作:
- 选择两个相邻且都有垃圾的垃圾桶,将这两件垃圾按原顺序移动到一对相邻的空垃圾桶中。 具体来说,选择一个位置 (),使得桶 和桶 中都有垃圾。再选择一对相邻的空桶 和 ,将桶 和桶 中的垃圾分别移动到桶 和桶 中。
强哥希望最终垃圾桶 到 中的垃圾达到目标分类状态:
对于每个 ,如果 是 W
,则桶 中应为可回收物;如果 是 B
,则桶 中应为不可回收物。
请你判断强哥是否能达到目标状态,并在可能的情况下求出所需的最小操作次数。
输入格式
输入格式如下:
输出格式
如果可以达到目标状态,输出所需的最小操作次数;否则输出 。
输入输出样例
样例 1
输入
6
BWBWBW
WWWBBB
输出
4
说明
用 .
表示空桶。一种可行的操作序列如下(共 4 次操作):
BWBWBW..
BW..BWBW
BWWBB..W
..WBBBWW
WWWBBB..
样例 2
输入
6
BBBBBB
WWWWWW
输出
-1
说明 无法将全部不可回收物变成可回收物。
样例 3
输入
14
BBBWBWWWBBWWBW
WBWWBBWWWBWBBB
输出
7
数据范围
- 是整数
- 和 均为长度为 的字符串,仅由
B
和W
组成