摘要: 只是一道NIM(尼姆博弈)题;尼姆博弈模型,是ACM题中常见的组合游戏中的一种,大致上是这样的:有3堆各若干个物品,两个人轮流从某一堆取任意多的物品,规定每次至少取1个,多者不限,最后取光者得胜这种情况最有意思,它与二进制有密切关系,我们用(a,b,c)表示某种局势,首先(0,0,0)显然是必败态,无论谁面对(0,0,0) ,都必然失败;第二种必败态是(0,n,n),自己在某一堆拿走k(k ≤ n)个物品,不论k为多少,对方只要在另一堆拿走k个物品,最后自己都将面临(0,0,0)的局势,必败。仔细分析一下,(1,2,3)也是必败态,无论自己如何拿,接下来对手都可以把局势变为(0,n,n)的情形 阅读全文
posted @ 2012-04-16 21:47 wutaoKeen 阅读(877) 评论(0) 推荐(0)
摘要: 这题就是对http://acm.hdu.edu.cn/showproblem.php?pid=1527的扩充View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib> 4 #include<algorithm> 5 #include<cmath> 6 #include<queue> 7 #include<set> 8 #include<map> 9 #include<vector>10 using names 阅读全文
posted @ 2012-04-16 20:49 wutaoKeen 阅读(250) 评论(0) 推荐(0)
摘要: 只是我第一道博弈题,这个是威佐夫博弈所谓威佐夫博弈,是ACM题中常见的组合游戏中的一种,大致上是这样的:有两堆石子,不妨先认为一堆有 10,另一堆有 15 个,双方轮流取走一些石子,合法的取法有如下两种:1、在一堆石子中取走任意多颗;2、在两堆石子中取走相同多的任意颗;约定取走最后一颗石子的人为赢家,求必胜策略。两堆石头地位是一样的,我们用余下的石子数(a,b)来表示状态,并画在平面直角坐标系上。和前面类似,(0,0)肯定是 P 态,又叫必败态。(0,k),(k,0),(k,k)系列的节点肯定不是 P 态,而是必胜态,你面对这样的局面一定会胜,只要按照规则取一次就可以了。再看 y = x 上方 阅读全文
posted @ 2012-04-16 20:46 wutaoKeen 阅读(886) 评论(3) 推荐(0)