CF1383B GameGame
\text{Solution}
这种异或贪心基本都是按位分析。
考虑从高位到低位,假如这一位有
偶: 考虑异或能有贡献的仅有 1,所以我们只分析 1 。假如 2 个人可以都选奇数个,即对 2 个人的答案都有贡献。假如都选偶数个,那么对于 2 个人来说都抵消了。所以偶数个 1 不会影响答案。
奇: 对于奇数,假如第二个人选
假如到了最低位都没法,显然平局。
\text{Solution}
#include <cstdio>
#include <algorithm>
#include <iostream>
#include <cstring>
#define N (int)(1e5+5)
using namespace std;
int rd() {
int f=1,sum=0; char ch=getchar();
while(!isdigit(ch)) {if(ch=='-') f=-1;ch=getchar();}
while(isdigit(ch)) {sum=(sum<<3)+(sum<<1)+ch-'0';ch=getchar();}
return sum*f;
}
int t,n,a[N];
int main() {
t=rd();
while(t--) {
n=rd(); int S=0;
for(int i=1;i<=n;i++) a[i]=rd(),S^=a[i];
bool fl=0;
for(int i=30;i>=0;i--) {
if((S>>i)&1) {
int tot=0;
for(int j=1;j<=n;j++) tot+=(a[j]>>i)&1;
//cout<<i<<" "<<tot<<endl;
if((n-tot)%2==0&&tot%4==3) fl=1,puts("LOSE");
else fl=1,puts("WIN");
}
if(fl) break;
}
if(!fl) puts("DRAW");
}
return 0;
}