福建工程学院第十四届ACM校赛G题题解

外传:编剧说了不玩游戏不行

题意:

有n个石堆,我每次只能从某一堆中取偶数个石子,你取奇数个,我先手,先不能操作的人输。问最后谁能赢。

思路:

这个题仔细想想,就发现,取奇数的人有巨大的优势,因为假设有一个奇数堆的,我只要一直取其他堆,直到剩下这一个奇数堆的时候我就赢了,因为取偶数的人无论如何都取不了这一个奇数堆的,然后我们发现,假设当前没有奇数堆,只要还剩下石子堆,我只要取1个就能变成奇数堆,然后我就必胜了,所以只有一种情况可能会输,那就是只有一堆石子且那一堆是偶数个,被对面先手一次性取完,不然奇数的怎么都会赢

代码实现

#include <iostream>

#include <cstring>

using namespace std;

typedef long long ll;

const int maxn = 1200;

int a[maxn];

int main(){

    int T;

    cin>>T;

    while(T--){

        int n;

        cin>>n;

        for(int i=1;i<=n;i++)

            cin>>a[i];

        if(n==1&&a[1]%2==0){

            puts("bugaoxing");

        }

        else {

            puts("meitounao");

        }

    }

    return 0;

}

 

转载于:https://www.cnblogs.com/xseventh/p/10878243.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值