zoukankan      html  css  js  c++  java
  • Codeforces Round #659 (Div. 2) D GameGame

    题意:

    给一个数组 两个人轮流从里面取数,取了的数不能再取

    每个人有一个value 

    取了数之后要和value异或一下

    最终value大的那个人 赢

    题解:

    每次取最高位的那个看即可,若最高位数量是偶数,无论怎么取,两个人这一位都一样

    所以取数量是奇数次的最高位

    然后分情况手玩一下

    #include <bits/stdc++.h>
    
    using namespace std;
    const int maxn=1e5+10;
    int a[maxn];
    int main()
    {
        int t;
        cin>>t;
        while(t--)
        {
            int n;
            cin>>n;
            int x=0;
    
            for(int i=1;i<=n;i++)
            {
                cin>>a[i];
                x^=a[i];
            }
            int ans=0;
            if(x==0)
                {cout<<"DRAW"<<endl;continue;}
            while(x!=1)
            {
    
                x/=2;
                ans++;
            }
    
            int sum=0;
            for(int i=1;i<=n;i++)
            {
                if((a[i]>>ans)&1)
                    sum++;
            }
            if((sum-1)/2%2==0)
                cout<<"WIN"<<endl;
            else if(n%2==0)
                cout<<"WIN"<<endl;
                else cout<<"LOSE"<<endl;
    
        }
    
    }
  • 相关阅读:
    day 16
    day 15
    day 14
    day 13
    Unity Shader UnityCG.cginc
    Unity Shader 包含内置文件
    Unity Shader 如何使用属性
    Unity Shader 顶点/片元着色器的基本结构
    Unity Shader 的基础结构
    git文件名大小敏感
  • 原文地址:https://www.cnblogs.com/acmLLF/p/13386926.html
Copyright © 2011-2022 走看看