#4574. B. Battle of Arrays
B. Battle of Arrays
当前没有测试数据。
B. Battle of Arrays
题目描述
Alice 和 Bob 玩一款回合制游戏。初始时,Alice 拥有一个包含 个正整数的数组 ,Bob 拥有一个包含 个正整数的数组 。玩家轮流行动,Alice 先手。
在一个玩家的回合中,他必须从自己的数组中选择一个元素 ,并从对手的数组中选择最大的元素 ,然后执行以下操作:
- 若 :销毁对手数组中的元素 (将其从数组中移除)。
- 若 :将对手数组中的元素 减去 ( 的值变为 )。
如果某名玩家在自己的回合结束后,对手的数组变为空,则该玩家获胜。
假设双方都采取最优策略,判断最终的获胜者。
输入格式
输入包含多组测试用例。第一行包含测试用例数 ()。
每组测试用例的第一行包含两个整数 和 (),分别表示 Alice 和 Bob 数组的大小。
第二行包含 个整数 (),表示 Alice 的数组。
第三行包含 个整数 (),表示 Bob 的数组。
保证所有测试用例中 的总和不超过 , 的总和不超过 。
输出格式
对于每组测试用例,输出采取最优策略后获胜者的名字:"Alice" 或 "Bob"。
样例输入
2
1 1
70
90
2 3
30 30
20 20 40
样例输出
Alice
Bob
样例解释
第一组测试用例
- Alice 先手:从自己的数组选择 70,Bob 数组的最大元素是 90。由于 90 > 70,Bob 的元素变为 90 - 70 = 20。此时 Bob 的数组为 [20],未空。
- Bob 行动:从自己的数组选择 20,Alice 数组的最大元素是 70。由于 70 > 20,Alice 的元素变为 70 - 20 = 50。此时 Alice 的数组为 [50],未空。
- Alice 再次行动:从自己的数组选择 50,Bob 数组的最大元素是 20。由于 20 ≤ 50,销毁 Bob 的元素。此时 Bob 的数组为空,Alice 获胜。
第二组测试用例
双方采取最优策略后,Bob 最终能让 Alice 的数组先变为空,因此 Bob 获胜。
备注
无