码迷,mamicode.com
首页 > 其他好文 > 详细

luogu 5月月赛 #A

时间:2018-05-19 23:26:35      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:游戏   printf   cst   整数   sample   输入格式   span   最优   get   

T29693 取石子 

题目描述

Alice 和 Bob 在玩游戏。

他们有 nn 堆石子,第 ii 堆石子有 a_iai? 个,保证初始时 a_i \leq a_{i + 1}(1 \leq i < n)ai?ai+1?(1i<n) 。现在他们轮流对这些石子进行操作,每次操作人可以选择满足 a_i > a_{i - 1}ai?>ai?1? ( a_0a0? 视为 00 )的一堆石子,并从中取走一个。谁最后不能取了谁输。Alice 先手,他们都使用最优策略,请判断最后谁会取得胜利。

输入输出格式

输入格式:

 

第一行一个整数 n(1 \leq n \leq 100)n(1n100) ,表示石子堆数。

接下来一行 nn 个数,第 ii 个数为 a_i(1 \leq a_i \leq 10^9)ai?(1ai?109) ,意义如上所述。

 

输出格式:

 

"Alice" 或 "Bob",表示谁会赢。

 

输入输出样例

输入样例#1: 复制
1
1
输出样例#1: 复制
Alice
输入样例#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

标签:游戏   printf   cst   整数   sample   输入格式   span   最优   get   

原文地址:https://www.cnblogs.com/rmy020718/p/9061915.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!