CF1398B Substring Removal Game
题目描述
Alice 和 Bob 玩一个游戏。他们有一个二进制字符串 $s$(即字符串中的每个字符都是 $0$ 或 $1$)。Alice 先手,然后是 Bob,然后再次轮到 Alice,如此交替进行。
在每一次操作中,玩家可以选择 $s$ 中任意数量(不少于一个)的连续相同字符,并将它们删除。
例如,如果字符串为 $10110$,则有 $6$ 种可能的操作(被删除的字符用粗体表示):
1. $\textbf{1}0110 \to 0110$;
2. $1\textbf{0}110 \to 1110$;
3. $10\textbf{1}10 \to 1010$;
4. $101\textbf{1}0 \to 1010$;
5. $10\textbf{11}0 \to 100$;
6. $1011\textbf{0} \to 1011$。
删除字符后,被删除区块左侧和右侧的字符会变为相邻。即如下操作序列是合法的:$10\textbf{11}0 \to 1\textbf{00} \to 1$。
当字符串变为空时,游戏结束。每位玩家的得分为他们删除的 $1$ 字符的数量。
每位玩家都希望最大化自己的得分。请计算 Alice 的最终得分。
输入格式
第一行包含一个整数 $T$($1 \le T \le 500$),表示测试用例的数量。
每个测试用例包含一行,仅包含一个二进制字符串 $s$($1 \le |s| \le 100$)。
输出格式
对于每个测试用例,输出一个整数,表示 Alice 的最终得分(即她删除的 $1$ 字符的数量)。
说明/提示
关于最优策略的问题将被忽略。
由 ChatGPT 4.1 翻译