首页 > 代码库 > 博弈论一 [ 巴什博奕 ]
博弈论一 [ 巴什博奕 ]
首先,这基本是关于ACM博弈论得一系列文章吧。
今天先讲一个最简单得博弈——巴什博奕。
其游戏规则是这样的:
有一堆n个石子,两个足够聪明的人玩,每个人可以去1~m个石子,取到最后一个石子为胜。
比如 n=7 ,m =3
那么先手必胜,过程大概如下,
先手取3,后首取i个,先手则拿4-i个,这样先手就拿到最后的石子了。(3+i+4-i=7,所以4-i就包含最后一个)。
那么其实想法很简单。
当n%(m+1)==0,先手必输,否则先手必胜。
为什么?
当n%(m+1)==0,时,先手取i个,后手去m+1-i(这样是合法得,因为先手不能拿完,但是至少拿1),这样一个回合就可以凑出m+1个,而n%(m+1)==0,所以n/(m+1)回合,后手就能取到最后一个。
当n%(m+1)=k,k>0,则先手去k个,此时石子回到n%(m+1)==0时,先手和后手于上一种情况则交换拿的顺序(即在n%(m+1)==0情况下,“后手”先拿),先手必胜。
那么问题就来了。
HDU1846(巴什博奕裸题)
http://acm.hdu.edu.cn/showproblem.php?pid=1846
题解:http://blog.csdn.net/dengyaolongacmblog/article/details/40452505
HDU2188(还是裸题)
http://acm.hdu.edu.cn/showproblem.php?pid=2188
题解:http://blog.csdn.net/dengyaolongacmblog/article/details/40452537
HDU2897(巴什博奕变形)
http://acm.hdu.edu.cn/showproblem.php?pid=2897
题解:http://blog.csdn.net/dengyaolongacmblog/article/details/40452561
POJ2368(巴什博奕变形)
http://poj.org/problem?id=2368
题解:http://blog.csdn.net/dengyaolongacmblog/article/details/40453285
博弈论一 [ 巴什博奕 ]