数学思路来自:洛谷大佬
#include<iostream>
#include<cstring>
#include<algorithm>
#include<math.h>
using namespace std;
//不能被看似博弈的吓退啊,要用小学附加题想一想
int main() {
int n,*a,sum=0;
cin >> n;
a = new int[n+1];
//如在满足ai>ai-1下取石子(i和i-1都为下标),定会形成一种情况:所有石子数相同,陷入僵局。
//由于a0=0,所以可以取a1的石子,这样就打破了僵局。而后可能会再次形成情况:所有石子数相同,陷入僵局。
//只要重复取a1的石子,直到所有石子数都为零。
//所以相当于所有的石子都可以取。那么若Alice要赢,石子数要为奇数,否则bob赢
for(int i=1;i<=n;++i)
cin >> a[i],sum+=a[i];
if (sum & 1)
cout << "Alice" << endl;
else
cout << "Bob" << endl;
}