CF1398B.Substring Removal Game

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Substring Removal Game

题目描述

Alice 和 Bob 玩一个游戏。他们有一个二进制字符串 ss(即字符串中的每个字符都是 0011)。Alice 先手,然后是 Bob,然后再次轮到 Alice,如此交替进行。

在每一次操作中,玩家可以选择 ss 中任意数量(不少于一个)的连续相同字符,并将它们删除。

例如,如果字符串为 1011010110,则有 66 种可能的操作(被删除的字符用粗体表示):

  1. 101100110\textbf{1}0110 \to 0110
  2. 1011011101\textbf{0}110 \to 1110
  3. 10110101010\textbf{1}10 \to 1010
  4. 101101010101\textbf{1}0 \to 1010
  5. 1011010010\textbf{11}0 \to 100
  6. 1011010111011\textbf{0} \to 1011

删除字符后,被删除区块左侧和右侧的字符会变为相邻。即如下操作序列是合法的:10110100110\textbf{11}0 \to 1\textbf{00} \to 1

当字符串变为空时,游戏结束。每位玩家的得分为他们删除的 11 字符的数量。

每位玩家都希望最大化自己的得分。请计算 Alice 的最终得分。

输入格式

第一行包含一个整数 TT1T5001 \le T \le 500),表示测试用例的数量。

每个测试用例包含一行,仅包含一个二进制字符串 ss1s1001 \le |s| \le 100)。

输出格式

对于每个测试用例,输出一个整数,表示 Alice 的最终得分(即她删除的 11 字符的数量)。

说明/提示

关于最优策略的问题将被忽略。

由 ChatGPT 4.1 翻译

样例

5
01111001
0000
111111
101010101
011011110111
4
0
6
3
6

在线编程 IDE

建议全屏模式获得最佳体验