差分后转变为阶梯博弈
#include<cstdio>
int u,n,op,l,x,ok;
int main(){scanf("%d",&u);
while(u--){
l=ok=0;scanf("%d",&n);op^=(n&1);
while(n--){scanf("%d",&x);if(op)ok^=x-l;l=x,op^=1;}
if(ok)puts("TAK");else puts("NIE");}
}
差分后转变为阶梯博弈
#include<cstdio>
int u,n,op,l,x,ok;
int main(){scanf("%d",&u);
while(u--){
l=ok=0;scanf("%d",&n);op^=(n&1);
while(n--){scanf("%d",&x);if(op)ok^=x-l;l=x,op^=1;}
if(ok)puts("TAK");else puts("NIE");}
}