题目来源:HDU 1527 取石子游戏
题意:中文
思路:威佐夫博弈 必败态为 (a,b ) ai + i = bi ai = i*(1+sqrt(5.0)+1)/2 这题就求出i然后带人i和i+1判断是否成立
以下转自网上某总结
有公式ak =[k(1+√5)/2],bk= ak + k (k=0,1,2,…,n 方括号表示取整函数) 其中出现了黄金分割数(1+√5)/2...
分类:
其他好文 时间:
2014-08-10 21:43:40
阅读次数:
356
题目链接:uva 11249 - Game
题目大意:给定K和N,表示有N轮游戏,每轮游戏给定两堆石子的个数,两人轮流操作,每次操作可以选择一堆取任意数量的石子,也可以选两堆取,要求两堆取的石子数之差的绝对值小于K,不能操作者为输,问先手的胜负情况。
解题思路:傻逼先手才一次取完,那样的话对手直接将另一堆取光不就傻逼了。所以先手就有一个取石子的最优策略,当两堆石子的数量差小于等K的时候...
分类:
其他好文 时间:
2014-08-09 00:17:36
阅读次数:
340
题目链接:uva 1559 - Nim
题目大意:有n个人,奇数的为一队,偶数的为一对,两队分别从一堆石子个数为S的石子堆中取石子,取到最后一个石子一方则视为失败。给出各个队员每次可取石子的上限值,然后按照顺序操作。
解题思路:dp[i][s]表示第i个选手操作时剩s个石子时为必胜还是必败。因为是取到最后一个石子的为输,所以最后递归结束的条件和不同的略有不同。
还尝试过可以将石子数减...
分类:
其他好文 时间:
2014-08-07 13:15:10
阅读次数:
179
题目链接:uva 11892 - ENimEN
题目大意:给定n堆石子的个数,两人轮流选择石子堆取石子,直到不能取为失败,附加条件,如果前一次操作,即队手的操作,没有将选中石子堆中的石子取完,那么当前操作者必须在该堆中取石子。
解题思路:只要有一个石子堆的个数大于2,那么先手就获得必胜态,可控。对于全是1的情况判断奇偶性。
#include
#include
#include...
分类:
其他好文 时间:
2014-08-07 09:47:59
阅读次数:
166
题目链接: uva 1482 - Playing With Stones
题目大意:n堆石子,给定每堆石子的个数,两个人分别从操作,每次可以从一堆中取走至少一个石子,但是不能超过一半。如果不能操作则视为失败。
解题思路:对于每一堆式子来说,可以看作一个Nim游戏,但是SG(x)并不等于x,因为每次取石子不能超过一半,所以对于偶数SG(x)=x/2,对于奇数SG(x)=SG(x/2).
...
分类:
其他好文 时间:
2014-08-06 01:59:40
阅读次数:
251
取石子游戏Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3562Accepted Submission(s): 1789Problem Descr...
分类:
其他好文 时间:
2014-08-01 22:46:42
阅读次数:
275
取石子(一)/*巴什博奕(Bash Game): 只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。 最后取光者得胜。 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个, 后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:...
分类:
其他好文 时间:
2014-07-31 09:42:55
阅读次数:
174
取石子游戏Description有 两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆 中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好...
分类:
其他好文 时间:
2014-07-30 11:55:23
阅读次数:
198
引用:http://blog.csdn.net/dgq8211/article/details/7602807
有一堆个数为n的石子,游戏双方轮流取石子,满足:
1)先手不能在第一次把所有的石子取完;
2)之后每次可以取的石子数介于1到对手刚取的石子数的2倍之间(包含1和对手刚取的石子数的2倍)。
约定取走最后一个石子的人为赢家,求必败态。
这个和之前的Wythoff...
分类:
其他好文 时间:
2014-07-28 00:11:49
阅读次数:
232
巴什博弈的变形:假设先取者为A,后取者为B,初始状态下有石子n个,除最后一次外其他每次取得石子个数必须在[p,q]之间。
若当前石子共有n =(p+q)* r个,则A必胜,必胜策略为:A第一次取q个,以后每次若B取K个,A取(p+q-k)个,如此下去最后必剩下p个给B,所以A必胜。
若n =(p+q)* r + left个(1 left p)B必胜,必胜策略为:每次取石子活动中,若A...
分类:
其他好文 时间:
2014-07-28 00:04:59
阅读次数:
332