TouchStone
  请登录后使用
登录 注册
距离CSP第一轮: ??天 距离CSP第二轮: ??天 距离NOIP还有: ??天
 系统首页  练习题库  考试列表  判题结果  信息发布  解题排行
  • 首页
  • 题库
  • P7808
  • 题目
  • P7808一维翻转棋
    限制 : 时间限制 : - MS   空间限制 : - KB
    评测说明 : 1s 256MB
    问题描述

    呆呆很喜欢在电脑上玩翻转棋,但是水平很菜,经常被虐,所以他决定对翻转棋进行降维打击。

    降维打击后,所有的棋子只能排成一排,新的棋子可以放在这一排的任意一端。棋子有黑白两种颜色,黑色用$B$表示。白色用$W$表示。每当有新棋子落下时,新棋子和另一枚与新棋子颜色相同并且距离最近的棋子之间的所有棋子,都会变成和新棋子一样的颜色。

    呆呆随机摆放了一排棋子,问你在满足规则的情况下,最少新添加几枚棋子,可以让所有棋子的颜色都相同。

    输入格式

    第一行,一个只由$B$和$W$组成的字符串$S$

    $1\leq |S| \leq 10^5$

    \(|S|\) 表示字符串 \(|S|\) 的长度

    输出格式

    最少添加的棋子数量。

    样例输入 1

    BBBWW

    样例输出 1

    1

    样例输入 2

    WWWWWW

    样例输出 2

    0

    样例输入 3

    WBWBWBWBWB

    样例输出 3

    9

    提示

    样例一:

    将$1$枚黑色的棋子放置在最右边,可以把所有白色的棋子变成黑色。

    将$1$枚白色的棋子放置在最左边,可以把所有黑色的棋子都变成白色。

    无论用哪种方式,都可以通过放置$1$枚棋子来实现目的。