标签:even 游戏 奇数 石子 Alice II leq ans Bob
石子游戏 II
\(Alice\) 和 \(Bob\) 正在玩一个关于石头的游戏。
共有 \(n\) 堆石头,其中第 \(i\) 堆最初含有 \(a_i\) 个石子。
他们轮流执行下列操作之一,从 \(Alice\) 开始。
- 把一堆奇数的石头劈成两堆,两堆都不能空。
- 把两堆偶数的石头合成一堆。
不能执行任何操作的人将输掉游戏。
假设 \(Alice\) 和 \(Bob\) 都足够聪明,你知道谁会赢得游戏吗?
输入格式
第一行包含一个整数 \(n\) (\(1\leq n \leq 10^6\))
第二行包含 \(n\) 个正整数 \(a_1,\dots,a_n\) (\(1\leq a_1,\dots,a_n \leq 10^9\))
输出格式
Alice
或 Bob
,表示最终赢家
样例输入
2
2 2
样例输出
Alice
题目分析
ans为操作次数结果。
ans=(偶数数量-1)+奇数数量
奇数数量分解成非1的奇数,会贡献两次ans,不影响取模结果,因此把奇数分解到偶数上即可。
#include<bits/stdc++.h>
using namespace std ;
int main() {
int n, ans=0,even=0;
scanf("%d",&n);
int t;
while(n--) {
scanf("%d" ,&t) ;
if(t==1) continue ;
even++;
ans+=t%2;
}
ans+=even;
if(even)
ans--;
if(ans%2)
printf("Alice");
else printf("Bob");
}
标签:even,游戏,奇数,石子,Alice,II,leq,ans,Bob 来源: https://www.cnblogs.com/zhaohanzheng/p/16166960.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。