SG函数
Strokess
懂的越少,想的越多。
展开
-
HDU 1847 Good Luck in CET-4 Everybody! (巴什博弈)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1847一堆牌一次只能取2的次幂张,谁取完谁赢。巴什博弈的变形,但是我没看出来...可以发现3和3的倍数一定没有办法一次取完,所以只要每次给对手留3或者3的倍数张就行了,又任意数只要减去1或者减去2都能变成3的倍数,而1和2都是可行的取法,所以只要开局不是3或者3的倍数,那么先原创 2016-07-31 14:16:07 · 404 阅读 · 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 评论 -
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 评论 -
HDU 3537 Daizhenyang's Coin (博弈论、翻硬币游戏)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3537题意:输入第一行n,表示已知一排硬币中有n个硬币正面朝上,下一行n个数表示正面朝上的硬币的位置ai。两人轮流操作,每次操作可以翻转1,2,或则3枚硬币,其中翻转的最右的硬币必须是正面朝上的,最后不能翻转的为负。翻硬币经典问题之一。自己推出来肯定很难,,所以就要多做题多掌原创 2016-08-08 16:30:00 · 1746 阅读 · 0 评论