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。