#JXGQ24015. 垃圾分类挑战

垃圾分类挑战

题目描述

强哥是学校环保社的成员,他负责将垃圾分类整理。 有 N+2N+2 个垃圾桶排成一行,从左到右编号为 11N+2N+2

在垃圾桶 11NN 中,每个桶里各有一件垃圾。 对于每个 1iN1 \leq i \leq N,如果 SiS_iW,表示桶 ii 中的垃圾是可回收物(白色标记);如果 SiS_iB,表示桶 ii 中的垃圾是不可回收物(黑色标记)。 垃圾桶 N+1N+1N+2N+2 是空的。

强哥可以进行任意次(包括 00 次)如下操作:

  • 选择两个相邻且都有垃圾的垃圾桶,将这两件垃圾按原顺序移动到一对相邻的空垃圾桶中。 具体来说,选择一个位置 xx1xN+11 \leq x \leq N+1),使得桶 xx 和桶 x+1x+1 中都有垃圾。再选择一对相邻的空桶 kkk+1k+1,将桶 xx 和桶 x+1x+1 中的垃圾分别移动到桶 kk 和桶 k+1k+1 中。

强哥希望最终垃圾桶 11NN 中的垃圾达到目标分类状态: 对于每个 1iN1 \leq i \leq N,如果 TiT_iW,则桶 ii 中应为可回收物;如果 TiT_iB,则桶 ii 中应为不可回收物。

请你判断强哥是否能达到目标状态,并在可能的情况下求出所需的最小操作次数。

输入格式

输入格式如下:

NN SS TT

输出格式

如果可以达到目标状态,输出所需的最小操作次数;否则输出 1-1

输入输出样例

样例 1

输入

6
BWBWBW
WWWBBB

输出

4

说明. 表示空桶。一种可行的操作序列如下(共 4 次操作):

  1. BWBWBW..
  2. BW..BWBW
  3. BWWBB..W
  4. ..WBBBWW
  5. WWWBBB..

样例 2

输入

6
BBBBBB
WWWWWW

输出

-1

说明 无法将全部不可回收物变成可回收物。

样例 3

输入

14
BBBWBWWWBBWWBW
WBWWBBWWWBWBBB

输出

7

数据范围

  • 2N142 \leq N \leq 14
  • NN 是整数
  • SSTT 均为长度为 NN 的字符串,仅由 BW 组成