欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

石子-2020牛客NOIP赛前集训营-普及组(第四场)

程序员文章站 2022-06-25 16:11:28
https://ac.nowcoder.com/acm/contest/7610/B博弈论题目Alice 和 Bob 从小就一起玩石子。有一天,他们又想愉快的玩一个石子游戏。一共有 n 堆石子,第 i 堆石子有 ai个,两人轮流操作。Alice 走先手,每个人每个回合只能对一堆石子进行操作,Alice 每次操作只能拿偶数个石子,Bob 每次操作只能拿奇数个石子, 每次操作至少拿走一个石子,直到一方无法进行任何操作,无法操作的人失败。假设Alice与Bob都是绝顶聪明的,如果 Alice 可以获...

https://ac.nowcoder.com/acm/contest/7610/B
博弈论

题目

Alice 和 Bob 从小就一起玩石子。
有一天,他们又想愉快的玩一个石子游戏。
一共有 n 堆石子,第 i 堆石子有 ai个,两人轮流操作。
Alice 走先手,每个人每个回合只能对一堆石子进行操作,Alice 每次操作只能拿偶数个石子,Bob 每次操作只能拿奇数个石子, 每次操作至少拿走一个石子,直到一方无法进行任何操作,无法操作的人失败。
假设Alice与Bob都是绝顶聪明的,如果 Alice 可以获胜,那么输出 YES,否则输出 NO。

输入描述

多组数据。对于每组数据,第一行输入一个正整数 n,第二行输入 n 个正整数,第 i 个数表示 ai。

输出描述

对于每组数据,每行输出一个字符串YES或NO。

输入

2
2 1

输出

NO

有提议知,只有当n==1 且为偶数时Alice才会赢

代码如下:

#include<iostream>
using namespace std;;
 
 
int main()
{
    long long n,a;
    while(cin>>n)
    {
        for(int i=0;i<n;i++){
            cin>>a;
        }
        if(n==1 && a%2==0){
            cout<<"YES"<<endl;
        }else{
            cout<<"NO"<<endl;
        }
        
        
    }
    
}

本文地址:https://blog.csdn.net/qq_43680250/article/details/109274938

相关标签: 博弈论