[POJ3537]Crosses and Crosses
vjudge
题意
有一个\(1*N\)的棋盘,双方轮流在棋盘上下棋,先形成三个连续棋子者胜。
\(N\le2000\)
sol
还是要转换成“不能操作者败”的问题。
如果一方在格子\(i\)上下了一个棋,那么\(i-2,i-1,i+1,i+2\)(如果有的话)这些格子一定再也不能下了(因为你一下对方就赢了)
那么一次下棋相当于把棋盘砍成两半,变成了两个独立的子问题。
所以直接预处理出\(SG\)函数。复杂度\(O(n^2)\)
code
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
const int N = 2005;
int n,SG[N];
int getSG(int x)
{if (x<0) return 0;if (SG[x]!=-1) return SG[x];bool vis[N]={0};for (int i=1;i<=x;++i) vis[getSG(i-3)^getSG(x-i-2)]=1;for (int i=0;i<=2000;++i) if (!vis[i]) return SG[x]=i;
}
int main()
{memset(SG,-1,sizeof(SG));for (int i=3;i<=2000;++i) getSG(i);while (scanf("%d",&n)!=EOF) puts(SG[n]?"1":"2");return 0;
}
转载于:https://www.cnblogs.com/zhoushuyu/p/8665857.html
[POJ3537]Crosses and Crosses相关推荐
- poj 3537 Crosses and Crosses 博弈论之grundy值
题意: 给1*n的格子,轮流在上面叉叉,最先画得3个连续叉叉的赢.问先手必胜还是必败. 分析: 求状态的grundy值(也就是sg值),详细怎么求详见代码.为什么这么求要自己想的,仅仅可意会(别人都说 ...
- 博弈论探讨及题目总结
转载自爱神博客:http://blog.csdn.net/acm_cxlove/article/details/7854526 首先当然要献上一些非常好的学习资料: 基础博弈的小结:http://bl ...
- ICPC程序设计题解书籍系列之三:秋田拓哉:《挑战程序设计竞赛》(第2版)
白书<挑战程序设计竞赛>(第2版)题目一览 白书:秋田拓哉:<挑战程序设计竞赛>(第2版) 第1章 蓄势待发--准备篇(例题) POJ1852 UVa10714 ZOJ2376 ...
- 《挑战程序设计竞赛(第2版)》习题册攻略
本项目来源于GitHub 链接: 项目GitHub链接 1 前言 项目为<挑战程序设计竞赛(第2版)>习题册攻略,已完结.可配合书籍或笔记,系统学习算法. 题量:约200道,代码注释内含详 ...
- HALCON示例程序measure_ring.hdev齿轮齿宽度测量
HALCON示例程序measure_ring.hdev齿轮齿宽度测量 示例程序源码(加注释) 关于显示类函数解释 read_image (Image, 'rings_and_nuts') dev_cl ...
- Mutli-SG游戏 ——学习笔记
还是先给出Mutli-SG的定义: Multi-SG 游戏规定,在符合拓扑原则的前提下,一个单一游戏的后继可以为多个单一游戏. Multi-SG 其他规则与 SG 游戏相同. 关于这种游戏,Jia Z ...
- Easy_language
http://www.guosen.com.cn/gxzq/tradestation/help/operate/operate06.html power language https://seekin ...
- 博弈论题目总结(二)——SG组合游戏及变形
SG函数 为了更一般化博弈问题,我们引入SG函数 SG函数有如下性质: 1.如果某个状态SG函数值为0,则它后继的每个状态SG函数值都不为0 2.如果某个状态SG函数值不为0,则它至少存在一个后继的状 ...
- Python-pptx Chart
image 图表 python-pptx提供了一个用于添加和操作图表的API. 图表对象(例如表格)不是形状. 而是它是包含在GraphicFrame形状中的图形对象. 图形框架形状提供形状API,例 ...
- ACM——博弈论 (以SG的求法为主)
HDU 1847Good Luck in CET-4 Everybody! n个石子取2的次幂个,0为terminal position P/N分析和求SG值方法都可以,找规律的话模3余0也能过 主要 ...
最新文章
- 受用一生的高效 PyCharm 使用技巧(六)
- 如何在TVM上集成Codegen(下)
- 图论-最短路径--3、SPFA算法O(kE)
- 投资83亿!“双一流”高校异地落户,传来新消息!
- Struts 学习笔记1 -Struts Framework 概览
- BZOJ2843:极地旅行社
- Java学习——使用Static修饰符
- 160809308周子济第7次作业
- 【剑指offer】面试题62:圆圈中最后剩下的数字(Java)
- ACM 博弈专题(5种模板)
- linux循环控制结构,Linux Shell 之 Shell 基本控制结构(二)(循环结构)
- 【Spark】Spark ListenerBus 和 MetricsSystem 体系分析
- malloc/free与new/delete的使用要点
- c++builder ping_C++实现ping功能转
- C++_二维数组的动态申请内存3种方法
- 工作中用到的sh脚本(持续更新)
- 医院管理系统服务器,医院管理的十大运行系统!
- Android实现键盘拨号
- Sublime Text3 for Mac(代码编辑器)中文特别版
- 靠腾讯光速上位,但同程艺龙可不能忘了“练内功”
热门文章
- 计算机安装固态硬盘后启动不稳定,完美解决win7系统安装固态硬盘后开机慢的解决方法...
- macos mojave_如何选择退出macOS Mojave Beta
- 数据分析团队的搭建与思考
- Error:(292, 40) java: -source 1.5 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符) ........
- 什么是十六进制法_十六进制计算方法是什么?
- sqlserver2000局域网无法远程访问
- 摄像头参数介绍 ———— 视场角(FOV)
- 你相信吗?这是210万“像素”人工画成的肖像_-Chaz-_新浪博客
- 隐藏APP图标并通过代码启动
- DirectX11 With Windows SDK--00 目录