#MQCwmb202601. 见手青的幻觉

见手青的幻觉

见手青的幻觉 (Hallucination)

时间限制: 1.0s
内存限制: 256MB

【题目背景】

在昆明著名的木水花野生菌市场,你买到了一朵巨大的“见手青”。这种菌子有一个奇特的特性:被碰伤或切开后,受损部位会迅速氧化变成蓝色。

【问题描述】

你将这朵长条状的菌子横向切成了 nn 片,从左到右依次编号为 11nn。由于处理时的磕碰,有些薄片变成了蓝色(用字符 B 表示),而有些薄片保持着原本的白色(用字符 W 表示)。

为了深入研究这种氧化现象,你需要从原有的 nn 片中切下一段连续的菌子样本。你的目标是:切下的这段样本必须包含所有已经变成蓝色的薄片。

请问,为了达成目标,你最少需要切下多少片连续的菌子薄片?

【输入格式】

第一行包含一个整数 tt (1t10001 \le t \le 1000) —— 表示测试用例的数量。

每个测试用例包含两行: 第一行包含一个整数 nn (1n1001 \le n \le 100) —— 菌子薄片的总数。 第二行包含一个长度为 nn 的字符串,仅由大写字符 B (Blue) 和 W (White) 组成。

【输出格式】

对于每个测试用例,输出一个整数,表示包含所有蓝色薄片所需切下的连续样本的最少片数。如果菌子中没有蓝色薄片,请输出 00

【样例输入】

4
6
WBBWWB
1
B
5
WWWWW
7
WBBWBWW

【样例输出】

5
1
0
4

【提示/解释】

第一个用例:蓝色薄片出现在位置 2, 3, 6。包含它们的最短连续段是 [2,6][2, 6],长度为 62+1=56 - 2 + 1 = 5。 第三个用例:没有蓝色薄片,因此不需要切下任何部分,输出 0。 第四个用例:蓝色薄片在位置 2, 3, 5。包含它们的最短连续段是从第 2 片到第 5 片,长度为 4。