#arc063a. [arc063_a]1D Reversi
[arc063_a]1D Reversi
题目描述
两只狐狸 Jiro 和 Saburo 正在玩一款叫做 1D Reversi 的游戏。这款游戏在一个棋盘上进行,使用黑白棋子。棋盘上的棋子排成一行,每个玩家将一个新的棋子放在行的两端。和原始的 Reversi 游戏类似,当放置一个白色棋子时,位于两个白色棋子之间的所有黑色棋子会变成白色棋子,反之亦然。
在游戏进行到一半时,Saburo 突然有事情要离开游戏。此时,棋盘的状态由一个字符串 描述。在棋盘上有 |S|(即 的长度)个棋子, 中的每个字符代表从左边数起的第 个棋子的颜色()。如果 中的第 个字符是 B
,表示对应棋盘上的棋子颜色是黑色。同样,如果 中的第 个字符是 W
,表示对应棋子的颜色是白色。
Jiro 希望棋盘上所有的棋子都是同一种颜色的。为了实现这个目的,他将按照规则在棋盘上放置新的棋子。请找出他需要放置的最少棋子数。
约束条件
- 中的每个字符都是
B
或W
。
输入
输入从标准输入读入,输入格式如下:
输出
输出 Jiro 为了达到目标需要放置的最少棋子数。
示例输入1
BBBWW
示例输出1
1
通过在棋子行的右端放置一个新的黑棋,所有白棋将变成黑棋。同样地,通过在棋子行的左端放置一个新的白棋,所有黑棋将变成白棋。
无论哪种方式,Jiro 的目标都可以通过放置一颗棋子来实现。
示例输入2
WWWWWW
示例输出2
0
如果所有棋子已经是相同的颜色,不需要放置新的棋子。
示例输入3
WBWBWBWBWB
示例输出3
9