CF2241F.A Bit Odd
入门
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Alice 和 Bob 得到了一个长度为 n 的二进制∗字符串 s。他们决定在该字符串上进行一场游戏,轮流进行,Alice 先手。
在每一轮中,当前玩家必须选择一个具有奇数个逆序对‡的子序列†并将其删除。无法进行操作的玩家判负。
假设双方均以最优策略进行游戏,请判断谁将获胜。
∗ 二进制字符串是指仅由字符 0 和 1 组成的字符串。
† 序列 a 是字符串 b 的子序列,当且仅当 a 可通过从 b 中删除若干(可能为零个或全部)字符得到。
‡ 二进制字符串 s 中的一个逆序对是指一对下标 (i,j),满足 i<j,且 si=1、sj=0。
输入格式
第一行包含一个整数 t(1≤t≤104)—— 测试用例的数量。接下来依次描述每个测试用例。
每个测试用例的第一行包含一个整数 n(1≤n≤2⋅105)—— 二进制字符串 s 的长度。
每个测试用例的第二行包含一个长度为 n 的二进制字符串 s。保证 s 中每个字符均为 0 或 1。
保证所有测试用例的 n 之和不超过 2⋅105。
输出格式
对于每个测试用例,如果 Alice 获胜则输出 Alice,否则输出 Bob。
输入输出样例
输入#1
3 5 10101 4 0100 6 011001
输出#1
Alice Alice Bob
说明/提示
对于第一个测试用例,Alice 可以选择整个字符串,因为该字符串具有奇数个逆序对。此时 Bob 面对的是一个空字符串,无法进行任何操作。因此 Alice 获胜。
对于第二个测试用例,Alice 可以选择由下标 1、2 和 4 处的字符构成的子序列,即 010。此时 Bob 剩余的字符为下标 3 处的 0,其逆序对数量为 0(偶数)。因此 Bob 无法选出一个具有奇数个逆序对的子序列,故 Alice 获胜。
对于第三个测试用例,可以证明:无论 Alice 的第一步如何操作,Bob 均能确保获胜。
输入解题思路,AI测评打分。不知道怎么写?