利用后继节点的SG值求出当前的SG值。

在当前任意一个BLANK插入一个x后,分成两段,于是,看成两段的NIM,异或和,按SG的定义求出当前的SG值即可。

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int MAX=;
int sg[MAX];
bool save[MAX]; int get(int len){
for(int i=;i<MAX;i++)
if(!save[i]) return i;
} int main(){
int mid; int len,a,b,ans;
sg[]=;sg[]=sg[]=sg[]=;
for(int i=;i<=;i++){
memset(save,false,sizeof(save));
len=;
if(i&) mid=i/+;
else mid=i/;
for(int k=;k<=mid;k++){
a=k-; b=i-k-;
if(a<) a=;
if(b<) b=;
ans=sg[a]^sg[b];
save[ans]=true;
}
sg[i]=get(len);
}
// for(int i=1;i<=15;i++)
// printf("%d ",sg[i]);
int n;
while(scanf("%d",&n)!=EOF){
if(sg[n]) printf("1\n");
else printf("2\n");
}
return ;
}

最新文章

  1. 安装mcrypt
  2. 登录FTP,下载并读取文件内容
  3. 东京区域2012-2014主要消费产品价格参考表——Excel
  4. JSHint 使用说明
  5. 2015想做O2O?那就来看看O2O报告!
  6. SQL30081N 检测到通信错误。正在使用的通信协议:&quot;TCP/IP&quot;
  7. ListView添加项目带序列
  8. 第一篇、jQuery的使用
  9. 前端 PC端兼容性问题总结
  10. JAVA监听
  11. 一个非常好用的框架-AngularJS(一)
  12. .NET读取Excel文件的三种方法的区别
  13. Struts2超链接
  14. 项目(1)----用户信息管理系统(5)---(剩余jsp界面)
  15. 【洛谷P4878】布局
  16. Nginx配置跨域请求 CORS
  17. docker常用命令整理-在容器中使用service命令
  18. 使用非服务器磁盘(MBROnly)安装ESXi时的方法.
  19. mysql 初识sql语句
  20. mysql5.6优化

热门文章

  1. Java语言中的程序流程控制
  2. 利用递归分割(Split)字符串
  3. (Go)05.基本数据类型和操作符
  4. alipay.trade.refund (统一收单交易退款接口)[支付宝退款]
  5. Linux学习教程
  6. POJ 3114 Tarjan+Dijkstra
  7. Hibernate搭建框架(一)
  8. Entity Framework -- 添加,删除,修改,关系依附,关系摘除,验证操作
  9. HTML学习笔记——DOCTYPE和DTD,标准模式和兼容模式
  10. js 事件冒泡、事件捕获、stopPropagation、preventDefault