![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Nim博弈
Strokess
懂的越少,想的越多。
展开
-
HDU 2509 Be the Winner && HDU 1907 John (Nim博弈变形)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1907http://acm.hdu.edu.cn/showproblem.php?pid=2509题意:都是给n堆石头,每次可以从任意一堆里取出任意数量的石头,最后一个取完的就输了。问能赢的是先手还是后手。两题代码基本相同,把输入一改就可以了。本题的证明可以参原创 2016-07-31 16:32:26 · 470 阅读 · 0 评论 -
HDU 1536 && HDU 1944 S-Nim (Nim博弈、SG函数模板)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1536题意:输入:2 2 532 5 123 2 4 74 2 3 7 125 1 2 3 4 532 5 123 2 4 74 2 3 7 120输出:LWWWWL第一行给出可行操作集合大小为k,然后k个数表示一次能在原创 2016-08-05 19:14:07 · 451 阅读 · 0 评论 -
HDU 1850 Being a Good Boy in Spring Festival (Nim博弈求第一步选择数)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1850题意:Nim博弈,问先手的人如果想赢,第一步有几种选择。必胜态下,a1^a2^.......^an=k,k不为零,根据定理:若a1^a2^...^an!=0,一定存在某个合法的移动,将ai改变成ai'后满足a1^a2^...^ai'^...^an=0。分析一下,若a1^原创 2016-08-05 20:34:05 · 436 阅读 · 0 评论 -
NYOJ 135 取石子(二) (巴什博弈+尼姆博弈)(SG函数)
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=135Nim博弈,只不过现在一次最多取m个,能够想到巴什博弈。巴什博弈的SG函数为SG(x) = x % (m+1)#include #include #include #include using namespace std;int main() {原创 2016-08-05 21:27:15 · 500 阅读 · 0 评论 -
HDU 3032 Nim or not Nim? && HDU 5795 A Simple Nim (Lasker's Nim游戏、SG函数、取走-分割游戏)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3032题意:Nim博弈,不过取的时候可以将一堆分成任意两堆。SG函数打表找规律。打表程序:#include #include #include #include using namespace std;int main() { int i, j; int原创 2016-08-07 12:24:18 · 628 阅读 · 0 评论 -
HDU 3389 Game (阶梯博弈、找规律)*
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3389题意:1-N带编号的盒子,当编号满足A>B && A非空 && (A + B) % 3 == 0 && (A + B) % 2 == 1则可以从A中取任意石头到B中,谁不能取了谁就输。由已知条件可得到 (A+B) % 6 = 3 ,即((A % 6)+(B % 6))%原创 2016-08-07 18:44:21 · 628 阅读 · 0 评论