POJ 1704

  1. 云栖社区>
  2. 博客列表>
  3. 正文

POJ 1704

prime7 2013-02-26 11:24:00 浏览407 评论0

摘要: 这题好像nim博弈的变形 主要在于找到变成奇异局势的方式,那么可以想到最近的两个棋子移动到相邻 如果n为奇数那么把0点也看作是一个棋子 如果变完后那么后手只需要模仿先手就可以赢了 所以之前是nim博弈 #include <iostream> #include<cstdio> #include<...

这题好像nim博弈的变形 主要在于找到变成奇异局势的方式,那么可以想到最近的两个棋子移动到相邻 如果n为奇数那么把0点也看作是一个棋子 如果变完后那么后手只需要模仿先手就可以赢了 所以之前是nim博弈

#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;

int main()
{
    int t,n,a[1010];
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        for(int i=0; i<n; i++)
            scanf("%d",&a[i]);
        if(n&1)
            a[n++]=0;
        sort(a,a+n);
        int ans=0;
        for(int i=n-1; i>0; i-=2)
            ans^=a[i]-a[i-1]-1;
        if(ans)
            puts("Georgia will win");
        else
            puts("Bob will win");

    }
    return 0;
}


用云栖社区APP,舒服~

【云栖快讯】诚邀你用自己的技术能力来用心回答每一个问题,通过回答传承技术知识、经验、心得,问答专家期待你加入!  详情请点击

网友评论

prime7
文章209篇 | 关注0
关注
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效... 查看详情
RDS是一种稳定可靠、可弹性伸缩的在线数据库服务。支持MySQL、SQL Server、Po... 查看详情
阿里云总监课正式启航

阿里云总监课正式启航