• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
seventh成长中---
博客园    首页    新随笔    联系   管理    订阅  订阅
福建工程学院第十四届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;

}

 

posted on 2019-05-16 21:43  xseventh  阅读(204)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3