luogu 5月月赛 #A
Posted Manjusaka丶梦寒
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了luogu 5月月赛 #A相关的知识,希望对你有一定的参考价值。
题目描述
Alice 和 Bob 在玩游戏。
他们有 nn 堆石子,第 ii 堆石子有 a_iai? 个,保证初始时 a_i \leq a_{i + 1}(1 \leq i < n)ai?≤ai+1?(1≤i<n) 。现在他们轮流对这些石子进行操作,每次操作人可以选择满足 a_i > a_{i - 1}ai?>ai?1? ( a_0a0? 视为 00 )的一堆石子,并从中取走一个。谁最后不能取了谁输。Alice 先手,他们都使用最优策略,请判断最后谁会取得胜利。
输入输出格式
输入格式:
第一行一个整数 n(1 \leq n \leq 100)n(1≤n≤100) ,表示石子堆数。
接下来一行 nn 个数,第 ii 个数为 a_i(1 \leq a_i \leq 10^9)ai?(1≤ai?≤109) ,意义如上所述。
输出格式:
"Alice" 或 "Bob",表示谁会赢。
输入输出样例
输入样例#2: 复制
1 2
输出样例#2: 复制
Bob
一眼题,简单的博弈论。
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> int n; int a[110]; long long ans; int main() { scanf("%d",&n); for(int i=1;i<=n;i++)scanf("%d",&a[i]); ans+=a[1]; for(int i=2;i<=n;i++) { if(a[i]>a[i-1])ans+=a[i]; } if(ans%2==0)printf("Bob"); else printf("Alice"); }
以上是关于luogu 5月月赛 #A的主要内容,如果未能解决你的问题,请参考以下文章