取石子问题概要1.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
取石子问题概要1

取石子游戏Time Limit:?1000MSMemory Limit:?10000KTotal Submissions:?23080Accepted:?7190Description有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。Input输入包含若干行,表示若干种石子的初始情况,其中每一行包含两个非负整数a和b,表示两堆石子的数目,a和b都不大于1,000,000,000。Output输出对应也有若干行,每行包含一个数字1或0,如果最后你是胜者,则为1,反之,则为0。Sample Input2 18 4 4 7Sample Output010SourceNOI纠结了好久,也找同学玩了这个游戏,始终没发现什么规律。后来想起高中一起玩(1,3,5,7)抓石子游戏的同学,就想打电话咨询顺便难一难他,谁知道直接拽给我一个:威佐夫博弈...百度了下终于懂了。刚开始也想到列出前几种必胜组合,可是脑袋抽风了,(3,5)(5,3)算成两种情况。= =,我都搞不清楚当时怎么想的了。下面是度娘关于威佐夫博弈的百科:威佐夫博奕(Wythoff Game):  有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。  这种情况下是颇为复杂的。我们用(ak,bk)(ak ≤ bk ,k=0,1,2,...,n)表示两堆物品的数量并称其为局势,如果甲面对(0,0),那么甲已经输了,这种局势我们称为奇异局势。前几个奇异局势是:(0,0)、(1,2)、(3,5)、(4,7)、(6,10)、(8,13)、(9,15)、(11,18)、(12,20)。  可以看出,a0=b0=0,ak是未在前面出现过的最小自然数,而bk= ak + k。奇异局势有如下三条性质:  1。任何自然数都包含在一个且仅有一个奇异局势中。  由于ak是未在前面出现过的最小自然数,所以有ak ak-1 ,而bk= ak + k ak-1 + k-1 = bk-1 ak-1 。所以性质1成立。  2。任意操作都可将奇异局势变为非奇异局势。  事实上,若只改变奇异局势(ak,bk)的某一个分量,那么另一个分量不可能在其他奇异局势中,所以必然是非奇异局势。如果使(ak,bk)的两个分量同时减少,则由于其差不变,且不可能是其他奇异局势的差,因此也是非奇异局势。  3。采用适当的方法,可以将非奇异局势变为奇异局势。  假设面对的局势是(a,b),若 b = a,则同时从两堆中取走 a 个物体,就变为了奇异局势(0,0);如果a = ak,b bk那么,取走b - bk个物体,即变为奇异局势;如果 a = ak, b bk则同时从两堆中拿走ak - ab - ak个物体变为奇异局势( ab - ak , ab - ak+ b - ak);如果a ak,b= ak + k 则从第一堆中拿走多余的数量a - ak即可;如果a ak,b= ak + k,分两种情况,第一种,a=aj(j k)从第二堆里面拿走 b - bj即可;第二种,a=bj(j k)从第二堆里面拿走 b - aj即可。结论:  两个人如果都采用正确操作,那么面对非奇异局势,先拿者必胜;反之,则后拿者取胜。  那么任给一个局势(a,b),怎样判断它是不是奇异局势呢?我们有如下公式:  ak =[k(1+√5)/2],bk= ak + k (k=0,1,2,...n 方括号表示取整函数)   奇妙的是其中出现了黄金分割数(1+√5)/2 = 1.618...因此,由ak,bk组成的矩形近似为黄金矩形,由于2/(1+√5)=(√5-1)/2,可以先求出j=[a(√5-1)/2],若a= [j(1+√5)/2],那么a = aj,bj = aj + j,若不等于,那么a = aj+1,bj+1 = aj+1 + j + 1,若都不是,那么就不是奇异局势。然后再按照上述法则进行,一定会遇到奇异局势。下面是某大牛的严谨数学证明:版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明/logshtml大致上是这样的:有两堆石子,不妨先认为一堆有10,另一堆有15个,双方轮流取走一些石子,合法的取法有如下两种:1)在一堆石子中取走任意多颗;2)在两堆石子中取走相同多的任意颗;约定取走最后一颗石子的人为赢家,求必败态(必胜策略)。??这个可以说是MR.Wythoff(Wythoff于1907年提出此游戏

文档评论(0)

yaocen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档