// 804 石子游戏 II.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*
http://oj.daimayuan.top/course/22/problem/738
Alice 和 Bob 正在玩一个关于石子的游戏。
共有 n 堆石子,其中第 i堆最初含有 ai 个石子。
他们轮流执行下列操作之一,从 Alice 开始。
把一堆个数为奇数的石子分成两堆,两堆都不能空。
把两堆个数为偶数的石子合成一堆。
不能执行任何操作的人将输掉游戏。
假设 Alice 和 Bob 都足够聪明,你知道谁会赢得游戏吗?
输入格式
第一行包含一个整数 n(1≤n≤106)
第二行包含 n个正整数 a1,…,an(1≤a1,…,an≤109)
输出格式
Alice 或 Bob,表示最终赢家
样例输入
2
2 2
样例输出
Alice
*/
#include <iostream>
using namespace std;
typedef long long ll;
int n;
int main()
{
scanf("%d",&n);
int odd = 0, one = 0;
for (int i = 1; i <= n; i++) {
int x;
scanf("%d",&x);
if (x % 2 == 1) odd++;
if (x == 1) one++;
}
if (one != n) odd++;
if ((odd + n) % 2 != 0) {
puts("Alice");
}
else {
puts("Bob");
}
return 0;
}
标签:游戏,int,石子,Alice,II,Bob,804
From: https://www.cnblogs.com/itdef/p/18617372