#CF2123D. 二进制字符串对决
二进制字符串对决
D. 二进制字符串对决
时间限制:2 秒
内存限制:256 兆字节
Alice 和 Bob 得到一个长度为 的二进制字符串 以及一个整数 ()。
如果 Alice 能将 中的所有字符都变为 ,则 Alice 获胜。如果 Alice 无法在有限步内获胜,则 Bob 获胜。
Alice 和 Bob 轮流操作,Alice 先手。
- 在 Alice 的回合,她可以选择 中任意一个长度为 的子序列,并将该子序列中的所有字符设为 。
- 在 Bob 的回合,他可以选择 中任意一个长度为 的子串,并将该子串中的所有字符设为 。
注意:如果在游戏的任何时刻(包括 Alice 和 Bob 的回合之间)字符串全为 ,则 Alice 立即获胜。
双方均采取最优策略,判断谁获胜。
字符串 的子序列是指 中的一组字符,这些字符不必连续。
字符串 的子串是指 中连续的一段字符。
输入
第一行包含一个整数 ()—— 测试用例数。
每个测试用例的第一行包含两个整数 和 (,)。
第二行包含一个长度为 的二进制字符串 。
保证所有测试用例的 之和不超过 。
输出
对于每个测试用例,输出一行,若 Alice 在最优策略下获胜,则输出 "Alice",否则输出 "Bob"。
输出大小写不敏感(例如 "aLiCe"、"alice"、"ALICE"、"alICE" 均视为 "Alice")。
样例
输入
6
5 2
11011
7 4
1011011
6 1
010000
4 1
1111
8 3
10110110
6 4
111111
输出
Bob
Alice
Alice
Bob
Bob
Alice
说明
- 第三个样例:Alice 可以选择由 组成的子序列(长度 ),将 变为
000000,立即获胜。 - 第四个样例:可以证明 Alice 无法在有限步内保证将 变为
0000。