【博弈论】取棋子游戏
来源:互联网 发布:js添加class 编辑:程序博客网 时间:2024/06/02 10:04
题目大意:有两堆石子,各为 N、M 个,甲乙两人轮流取石子,每次可以从任意一堆里取走任意多个石子,也可以从两堆中取走相同数量的石子,但不能不取。取走最后一个石子的人为赢家。给出初始状态,问先手有无必胜策略。
数据范围:
RQNOJ 256:1 <= N、M <= 10000。
POJ 1067:1 <= N、M <= 1,000,000,000。
一开始用Sg函数来解,写了半天,把Sg函数的规律都找到了。。。算出来了。。。不知道怎么用??难道是这种 模型不能用Sg函数。
最后上网看到了那个牛逼的题解。啃了很久才看到。用到了Betty定理,和黄金分割。。这怎么是人能想到的?下午再理解一下再来补充。理解
#include <cstdio>#include <cmath>const double phi = (1+sqrt(5))/2;int main(){ int a;int b; scanf("%d%d",&a,&b); if (a > b) { a ^= b; b ^= a; a ^= b; } if (int((b-a)*phi) == a) printf("N"); else printf("Y"); return 0;}
- 【博弈论】取棋子游戏
- 【博弈论】取棋子游戏
- 【博弈论】【RQNOJ】取棋子游戏
- ★【博弈论】【贝蒂定理】取棋子游戏
- 1534 棋子游戏(博弈论)
- 博弈论--取石子游戏
- 博弈论之取石子游戏
- 取球游戏(博弈论)
- 取石子游戏 (经典博弈论)
- 博弈论, 取石子游戏1
- POJ1067 取石子游戏(博弈论)
- 取棋子
- 算法——博弈论:取石子游戏
- 【转】博弈论--取物品和Nim游戏
- 取石子游戏 - POJ 1067 博弈论
- HDU 2516 取石子游戏 (博弈论)
- poj 2234 博弈论Nim取子游戏
- 博弈论 ,一个新的取石子游戏
- 前台显示页面
- android 中 activity 的四种加载模式
- Divitis: what it is, and how to cure it
- 关于SDL的gfx库
- Android handle机制
- 【博弈论】取棋子游戏
- Qt configure参数说明
- oracle字符集修改(AL32UTF8->UTF8)
- 二类动词记忆法
- 谨记:CoInitialize是以单线程的方式创建com对象
- centos 5.5 x64 + mysql5.5 + php5.2 yum安装过程
- Iphone之NSBundle
- java获取16进制的byte[]的String内容以及获取普通字符串的16进制的byte[]
- sales org.1->X-distr.chain status