CF1398B.Substring Removal Game
入门
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Alice and Bob play a game. They have a binary string s (a string such that each character in it is either 0 or 1). Alice moves first, then Bob, then Alice again, and so on.
During their move, the player can choose any number (not less than one) of consecutive equal characters in s and delete them.
For example, if the string is 10110, there are 6 possible moves (deleted characters are bold):
- 10110→0110;
- 10110→1110;
- 10110→1010;
- 10110→1010;
- 10110→100;
- 10110→1011.
After the characters are removed, the characters to the left and to the right of the removed block become adjacent. I. e. the following sequence of moves is valid: 10110→100→1.
The game ends when the string becomes empty, and the score of each player is the number of 1-characters deleted by them.
Each player wants to maximize their score. Calculate the resulting score of Alice.
爱丽丝和鲍勃玩一个游戏。他们有一个二进制字符串 s(即字符串中每个字符均为 0 或 1)。爱丽丝先手,然后是鲍勃,接着又是爱丽丝,依此类推。
在自己的回合中,玩家可以选择 s 中任意一段长度至少为一的、由相同字符组成的连续子串,并将其删除。
例如,若字符串为 10110,则有 6 种可能的操作(被删除的字符加粗显示):
- 10110→0110;
- 10110→1110;
- 10110→1010;
- 10110→1010;
- 10110→100;
- 10110→1011。
删除字符后,被删子串左侧与右侧的字符变为相邻。例如,如下操作序列是合法的:10110→100→1。
当字符串变为空时游戏结束,每位玩家的得分为其删除的字符中 1 的个数。
双方均采取最优策略以最大化自身得分。请计算爱丽丝最终的得分。
输入格式
The first line contains one integer T (1≤T≤500) — the number of test cases.
Each test case contains exactly one line containing a binary string s (1≤∣s∣≤100).
第一行包含一个整数 T(1≤T≤500)—— 表示测试用例的数量。
每个测试用例恰好包含一行,该行包含一个二进制字符串 s(1≤∣s∣≤100)。
输出格式
For each test case, print one integer — the resulting score of Alice (the number of 1-characters deleted by her).
对于每个测试用例,输出一个整数——Alice 的最终得分(即她删除的字符 1 的个数)。
输入输出样例
输入#1
5 01111001 0000 111111 101010101 011011110111
输出#1
4 0 6 3 6
说明/提示
Questions about the optimal strategy will be ignored.
关于最优策略的问题将被忽略。
输入解题思路,AI测评打分。不知道怎么写?