poj3537 Crosses and Crosses 博弈论
2024-08-21 17:59:25
大意:
给定一个\(1 * n\)的棋盘,你和对手轮流在上面画"X"
当出现三个连续的X时,最后一步操作的人胜利
不难发现,在棋盘中画了一个X之后
问题等价于两个一样的子游戏
然后暴力求\(sg\)函数即可
复杂度\(O(n^2)\)
#include <bitset>
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
#define ri register int
#define rep(io, st, ed) for(ri io = st; io <= ed; io ++)
#define drep(io, ed, st) for(ri io = ed; io >= st; io --)
const int sid = 2e3 + 50;
int n, sg[sid];
bitset <sid> ex;
inline void Init() {
rep(i, 1, 2000) {
ex.reset();
rep(j, 1, i) {
int tmp = 0;
if(j - 3 >= 0) tmp ^= sg[j - 3];
if(i - j - 2 >= 0) tmp ^= sg[i - j - 2];
ex[tmp] = 1;
}
rep(j, 0, 2000)
if(!ex[j]) {
sg[i] = j;
break;
}
}
}
int main() {
Init();
while(scanf("%d", &n) == 1)
printf("%d\n", (sg[n]) ? 1 : 2);
return 0;
}
最新文章
- 自定义 Lint 规则简介
- java基础随笔-overload和override
- UIView 弹出动画
- 此证书的签发者无效Missing iOS Distribution signing identity问题解决
- 斯坦福 IOS讲义 课件总结 三
- C#多线程之旅(7)——终止线程
- Anti-pattern/反模式
- 从手机中提取boot.img
- CentOS 7.x 安装 Docker-Compose
- [HTML/CSS]导航栏的下划线跟随效果
- spring4笔记----PropertyOverrideConfigureer 重写占位符配置器(图)
- jenkins检查代码,如没更新停止构建步骤
- WebApi服务以及跨域设置
- 添加一个Activity
- css--clearfix浮动
- 课程一(Neural Networks and Deep Learning),第三周(Shallow neural networks)—— 0、学习目标
- Apache Oltu 实现 OAuth2.0 服务端【授权码模式(Authorization Code)】
- Docker中查看Mysql数据库中的各环境参数
- 关于JS call apply 对象、对象实例、prototype、Constructor、__proto__
- C#中的程序集和命名空间