拈游戏

作者: alonwang | 来源:发表于2017-02-23 14:40 被阅读131次

描述
有一堆n个棋子,两个玩家轮流从堆中拿走至少一个至多m个棋子,
每次拿的棋子数都可以不同,如果每个玩家都做出了最佳选择,哪个玩家能够顺利拿走最后一个棋子?

解析

这种游戏的原型实例是拈游戏中的单堆棋子版本。现在假设游戏已经进行了一会,双方都能做出最佳选择,现在轮到你
情况:
1. 如果n=0,也就是你已经没法走了,输
2. 如果n=1~m,你可以拿走剩下全部棋子,下一步对方的情况是1,赢
3. 如果n=m+1,都会把对方推向情况2,输
4. 如果n=m+2 ~ 2m+1(即m+1+m),拿走(1~m)个,将对方推向情况3,赢
5. 如果n=2(m+1)=2m+2,拿走任意个,将对方推向情况4,输

结果

  • 当n%(m+1)==0,结局必定为输
  • 当n%(m+1)!=0,获胜

获胜的策略是取走n%(m+1)个棋子。

实例

假设n=9,m=3。己方先手,按照上面得到的结论推导n%(m+1)!=0,所以己方获胜。

  1. 9%(3+1)=1,取走1个
1
  1. 假设对方拿走3个(为方便)
2
  1. 5%4=1,取走1个
3
  1. 这次取走1个(随意)
4
  1. 3%4=3,全部取走,获胜
5

总结

所以根据初始n和m算出可以获胜,只要按照确定的公式取走棋子,无论对方如何取都能确保获胜。


拓展

对于一般性的拈游戏,即有多堆棋子,有一种令人称奇的解法:

基于队中棋子的二进制表示,b1/b2/b3/b4.....为各堆中棋子个数的二进制表示。当且仅当所有二进制异或和中包含至少一个1时,该实例为胜局,当且仅当所有二进制异或和中不包含1时,该实例为输局。(异或和也可以看作没有进位的加法
如n1=4,n2=5,n3=6

4,5,6的二进制异或和

要使对方输,就要使异或和所有位数都为0,这里无法实现。

相关文章

  • 拈游戏

    描述有一堆n个棋子,两个玩家轮流从堆中拿走至少一个至多m个棋子,每次拿的棋子数都可以不同,如果每个玩家都做出了最佳...

  • 玩拈粘土游戏

    2019年7月2日 星期二 雨 今天我做完作业,开始玩拈粘土游戏。我先拈了一双拖鞋,三个三明治,...

  • 歆梦想少儿戏剧教学口诀

    教学目标须突出, 过程节奏要分明。 戏剧游戏抓人眼, 控场手段信手拈!

  • 卜算子.拈花俏笑只为梅

    卜算子.拈花俏笑只为梅 朱云峰 题记:拈韵游戏,为纪念一代伟人诞辰125周年,以其<<卜算子.梅>>分韵咏梅,拈得...

  • 徐徐香丝入,屡屡犯春塘。 南雁先生2019-7-27拈

  • 我把,太阳的璀璨 城池的永恒 烟火里的,碎碎念念 浓缩到,一杯流水之中 饮,或不饮 当拈起一朵花 我便拈起了,万种...

  • 谁家倩女拈花嗅,闭眸思念远征人 此味只应天上有,何必下凡到人间

  • 选择

    《选择》 原创:刘畇丽 选择, 先行者的信手拈来。 此拈来 非彼拈来, 是精挑细选之拈来。 你选择...

  • 趣聊

    钻换贝 贝换钻 才子佳人带笑看 游戏拈指尖 走的走 散的散 关门闭户居深院 人气不如前

  • 18.1.27复盘

    今天上午用了两个番茄钟陪小朋友玩游戏,新鲜的游戏小朋友还比较敢兴趣。 晚上小伙伴的分享很精彩,听着她们信手拈来的演...

网友评论

    本文标题:拈游戏

    本文链接:https://www.haomeiwen.com/subject/vvcbwttx.html