AT_arc063_a.[ABC047C] 一次元リバーシ

普及-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

狐狸次郎和三郎正在玩一维翻转棋。在一维翻转棋中,棋盘上的棋子只有黑色或白色,所有棋子排成一行。每次可以在最左端或最右端新下一个棋子。与普通翻转棋一样,例如下一个白色棋子时,如果夹住了黑色棋子,被夹住的黑色棋子会变成白色。

游戏进行到一半时,三郎突然有急事离开了。这时,棋盘的状态用字符串 SS 表示。棋盘上共有 ∣S∣|S|(字符串长度)个棋子,从左到右第 ii 个棋子的颜色由 SS 的第 ii 个字符决定,若为 B 则为黑色,若为 W 则为白色。

次郎想通过尽可能少地下棋,使得所有棋子的颜色都相同。请你求出最少需要下多少个棋子,才能使所有棋子颜色相同。

输入格式

输入为一行,包含一个字符串 SS。

输出格式

输出使所有棋子颜色相同所需下的最少棋子数。

输入输出样例

  • 输入#1

    BBBWW

    输出#1

    1
  • 输入#2

    WWWWWW

    输出#2

    0
  • 输入#3

    WBWBWBWBWB

    输出#3

    9

说明/提示

限制条件

  • 1≤∣S∣≤1051 \leq |S| \leq 10^5
  • SS 只包含字符 B 或 W

样例解释 1

例如,在右端下一个黑色棋子,可以将所有白色棋子变为黑色。或者在左端下一个白色棋子,也可以将所有棋子变为同一种颜色。无论哪种情况,只需下 11 个棋子即可使所有棋子颜色相同,因此输出 11。

样例解释 2

如果一开始所有棋子颜色都相同,则无需再下棋。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页