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

bzoj_1022: [SHOI2008]小约翰的游戏John

时间:2017-09-28 20:01:27      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:main   bbb   sizeof   bsp   define   异或   include   font   lag   

Nim游戏 改成了 拿到最后一个输,所以要躲着拿

get到了新技能:(S为所有堆数异或值)

1.堆数不全是1时

S>0,你可以控制当前这个局面,(因为一定有一个堆数ai>S,你可以取ai-S个石子,使其异或和==0)

否则S==0,你就会被对手控制

2.堆数全是1

显然,此时你面临 奇数堆,必输

特判即可

 

 

技术分享
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#include <iostream>
#define ll long long
#define mem(a,b) memset(a,b,sizeof(a))
using namespace std;

int T;
int n;
int a[56];

int main(){

    scanf("%d",&T);
    while(T--)
    {
        scanf("%d",&n);
        for(int i=1;i<=n;++i)
            scanf("%d",&a[i]);
        int s=0,flag=0;
        for(int i=1;i<=n;++i)
        {
            s^=a[i];
            if(a[i]>1)
                flag=1;
        }
        if(!flag)
        {
            if(s)
                printf("Brother\n");
            else
                printf("John\n");
        }
        else
        {
            if(s)
                printf("John\n");
            else
                printf("Brother\n");
        }
    }

}
bzoj_1022

 

bzoj_1022: [SHOI2008]小约翰的游戏John

标签:main   bbb   sizeof   bsp   define   异或   include   font   lag   

原文地址:http://www.cnblogs.com/A-LEAF/p/7608128.html

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