2956: 路灯的反转

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:0 解决:

题目描述

一条新建立的笔直的街道上有 n 盏路灯,目前正处于调试阶段。路灯只有亮和不亮两种状态, 现在有些灯亮着、有些不亮。小 y 手里有一个不成熟的调试仪器,使用前必须设定一个数值 K,机 器每操作一次恰好使 K 个连续的路灯状态反转(亮变成不亮、不亮变成亮) 。 现在,请你编程求出:为了让所有路灯都不亮需要的最少操作次数 M 和对应的最小 K 值。

输入

第 1 行为整数 n。 第 2 行为 n 盏路灯的初始状态,状态用“B”和“F”标记,分别表示亮和不亮。

输出

输出 2 行,每行 1 个整数。 第 1 行表示最小的 K 值,第 2 行表示最少的操作次数 M。

样例输入 复制

7
BBFBFBB

样例输出 复制

3
3

提示

【样例解释】 K=3,先反转 1~3 号,再反转 3~5 号,再反转 5~7 号。 【数据范围】 对于 40%的数据满足:n <= 400。 对于 100%的数据满足:1 <= n <= 4000。