Description
一年一度的Be The Best Foodie(BTBF)大赛开始了。现在已经到了最终决赛。Alice和Bob这对老冤家再次相遇。那么这次,将鹿死谁手呢!
BTBF的规则如下:场上将提供一把刀,nn块蛋糕。双方轮流执刀。执刀的一方先选择一块蛋糕,将其切成两份,而另一方则选择一份蛋糕吃掉,最后,执刀手将剩下的蛋糕吃掉。为了化简比赛规则,我们将每一块蛋糕的大小化作一个正整数,而蛋糕被切开之后,分成的两个蛋糕必须依然为正整数。没有蛋糕可切之时,则结束比赛。最后,吃的最多的人获胜。
Alice和Bob都是前所未有的高智商大胃王,每次都一定会做全局于自己最优的选择。
Alice先行执刀。
那么,现在当给出每块蛋糕的大小时,请你预言比赛的结果。
Input
第一行一个整数TT,代表有TT组数据。
每组数据格式如下:
第一行一个正整数nn,代表有nn块蛋糕。
第二行n个正整数a_ia
i
,以空格间隔,代表每块蛋糕的大小。
sum {n} le 100000∑n≤100000 a_i le 1,000,000,000a
i
≤1,000,000,000
Output
每组数据输出一行。若Bob吃得多,则输出“Bob”;反之则输出“Alice”。
Sample Input 1
3
1
2
1
3
2
2 2
Sample Output 1
Alice
Bob
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
cin>>n;
int a[n];
int i;
int s1=0,s2=0;
for(i=0;i<n;i++)
{
cin>>a[i];
if(a[i]%2==0)
{
s1++;
}
if(a[i]%2==1&&a[i]!=1)
{
s2++;
}
}
if(s1%2==0&&s2%2==1)
printf("Bob
");
else
printf("Alice
");
}
return 0;
}
主要是看谁切的奇数多。哎,没想出来。记住了