CF1472D.Even-Odd Game
普及-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
During their New Year holidays, Alice and Bob play the following game using an array a of n integers:
- Players take turns, Alice moves first.
- Each turn a player chooses any element and removes it from the array.
- If Alice chooses even value, then she adds it to her score. If the chosen value is odd, Alice's score does not change.
- Similarly, if Bob chooses odd value, then he adds it to his score. If the chosen value is even, then Bob's score does not change.
If there are no numbers left in the array, then the game ends. The player with the highest score wins. If the scores of the players are equal, then a draw is declared.
For example, if n=4 and a=[5,2,7,3], then the game could go as follows (there are other options):
- On the first move, Alice chooses 2 and get two points. Her score is now 2. The array a is now [5,7,3].
- On the second move, Bob chooses 5 and get five points. His score is now 5. The array a is now [7,3].
- On the third move, Alice chooses 7 and get no points. Her score is now 2. The array a is now [3].
- On the last move, Bob chooses 3 and get three points. His score is now 8. The array a is empty now.
- Since Bob has more points at the end of the game, he is the winner.
You want to find out who will win if both players play optimally. Note that there may be duplicate numbers in the array.
在新年假期期间,爱丽丝(Alice)和鲍勃(Bob)使用一个包含 n 个整数的数组 a 进行如下游戏:
- 双方轮流进行操作,爱丽丝先手。
- 每一轮,一名玩家任选数组中的一个元素并将其移除。
- 若爱丽丝选择的是偶数,则将该数加到她的得分中;若选择的是奇数,则她的得分不变。
- 类似地,若鲍勃选择的是奇数,则将该数加到他的得分中;若选择的是偶数,则他的得分不变。
当数组中不再有数字剩余时,游戏结束。得分更高的玩家获胜;若双方得分相等,则判为平局。
例如,若 n=4 且 a=[5,2,7,3],则游戏可能按如下方式进行(还有其他可能):
- 第一步:爱丽丝选择 2,获得 2 分,此时她的得分为 2;数组 a 变为 [5,7,3]。
- 第二步:鲍勃选择 5,获得 5 分,此时他的得分为 5;数组 a 变为 [7,3]。
- 第三步:爱丽丝选择 7,不得分,此时她的得分仍为 2;数组 a 变为 [3]。
- 最后一步:鲍勃选择 3,获得 3 分,此时他的得分为 8;数组 a 变为空。
- 由于游戏结束时鲍勃得分更高,因此他获胜。
你需要判断:若双方均以最优策略进行游戏,最终谁将获胜?注意:数组中可能存在重复数字。
输入格式
The first line contains an integer t (1≤t≤104) — the number of test cases. Then t test cases follow.
The first line of each test case contains an integer n (1≤n≤2⋅105) — the number of elements in the array a.
The next line contains n integers a1,a2,…,an (1≤ai≤109) — the array a used to play the game.
It is guaranteed that the sum of n over all test cases does not exceed 2⋅105.
第一行包含一个整数 t(1≤t≤104)—— 测试用例的数量。随后是 t 个测试用例。
每个测试用例的第一行包含一个整数 n(1≤n≤2⋅105)—— 数组 a 中的元素个数。
下一行包含 n 个整数 a1,a2,…,an(1≤ai≤109)—— 用于进行游戏的数组 a。
保证所有测试用例中 n 的总和不超过 2⋅105。
输出格式
For each test case, output on a separate line:
- "Alice" if Alice wins with the optimal play;
- "Bob" if Bob wins with the optimal play;
- "Tie", if a tie is declared during the optimal play.
对于每个测试用例,在单独一行中输出:
- 若爱丽丝在双方均采取最优策略时获胜,则输出 “Alice”;
- 若鲍勃在双方均采取最优策略时获胜,则输出 “Bob”;
- 若在双方均采取最优策略的过程中出现平局,则输出 “Tie”。
输入输出样例
输入#1
4 4 5 2 7 3 3 3 2 1 4 2 2 2 2 2 7 8
输出#1
Bob Tie Alice Alice
输入解题思路,AI测评打分。不知道怎么写?