石子游戏 II

石子游戏 II

AliceBob 正在玩一个关于石头的游戏。

共有 n 堆石头,其中第 i 堆最初含有 ai 个石子。

他们轮流执行下列操作之一,从 Alice 开始。

  • 把一堆奇数的石头劈成两堆,两堆都不能空。
  • 把两堆偶数的石头合成一堆。

不能执行任何操作的人将输掉游戏。

假设 AliceBob 都足够聪明,你知道谁会赢得游戏吗?

输入格式

第一行包含一个整数 n (1n106)

第二行包含 n 个正整数 a1,,an (1a1,,an109)

输出格式

AliceBob,表示最终赢家

样例输入

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"); }

__EOF__

本文作者seekerzhz
本文链接https://www.cnblogs.com/zhaohanzheng/p/16166960.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   seekerHeron  阅读(73)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示