SG函数模板(洛谷2197nim游戏
2024-08-28 03:58:48
#include <iostream>
#include <cstdio>
#include <queue>
#include <algorithm>
#include <cmath>
#include <cstring>
#define inf 2147483647
#define N 10010
#define p(a) putchar(a)
#define For(i,a,b) for(int i=a;i<=b;++i)
//by war
//2019.8.9
using namespace std;
int T,n,ans;
int f[N],sg[N],a[N];
bool vis[N];
void in(int &x){
int y=;char c=getchar();x=;
while(c<''||c>''){if(c=='-')y=-;c=getchar();}
while(c<=''&&c>=''){ x=(x<<)+(x<<)+c-'';c=getchar();}
x*=y;
}
void o(int x){
if(x<){p('-');x=-x;}
if(x>)o(x/);
p(x%+'');
} void SG(int n){
memset(sg,,sizeof(sg));
sort(f+,f+n+);
For(i,,n){
memset(vis,,sizeof(vis));
for(int j=;j<=n&&f[j]<=i;j++)
vis[sg[i-f[j]]]=;
For(j,,n)
if(!vis[j]){
sg[i]=j;
break;
}
}
} signed main(){
in(T);
For(i,,1e4)
f[i]=i;
SG(1e4);
while(T--){
in(n);
For(i,,n)
in(a[i]);
ans=;
For(i,,n)
ans^=sg[a[i]];
if(!ans)
puts("No");
else
puts("Yes");
}
return ;
}
最新文章
- 使H1 H2等标签不换行
- POJ 1101 简单BFS+题意
- epoll
- ACM/ICPC 之 并查集-食物链(POJ1182)
- linux设备驱动归纳总结(三):2.字符型设备的操作open、close、read、write【转】
- C语言实现词频统计——第二版
- Qt: qobject_cast<;QPushButton*>;(sender()) 简化信号与槽的编写
- Screen-Space Bent Cones (SSBC) in Unity5
- iOS 10 创建iMessage App
- js检测是否手机浏览的函数
- Workflow:自定义工作流 之 模型选择
- 更新UI
- Android EventBus 3.0 实例使用详解
- servlet+jsp导入Excel到mysql数据库
- DoraBox 漏洞练习平台
- Confluence 6 临时目录(安装目录)
- dubbo报错Data length too large: 10710120处理,及服务提供者协议配置详细说明
- ajax 与springmvc交互返回数据
- Java设计模式应用——适配器模式
- MySQL之练习题5