【问题标题】:Cold Positions of three heap Wythoff Game三堆 Wythoff 博弈的冷仓位
【发布时间】:2015-01-23 03:01:42
【问题描述】:

这是硬件:

Wythoff 的游戏中有两个玩家,在这种情况下有 3 堆石头。每个玩家轮流从堆中取出石头,如果他们拿起最后一块石头,则玩家获胜。每回合玩家可以从一堆中取出 N 块石头,从两堆中取出 N 块,或者从所有三堆中取出 N 块。

获胜配置是第一个玩家可以强制获胜的配置。例如,(0,0,13)、(0,11,11) 和 (5,5,5) 是获胜配置,因为第一个玩家可以立即移除所有棋子。

失败的配置是第二个玩家可以强制获胜,无论第一个玩家做什么。例如,(0,1,2) 和 (1,3,3) 正在输掉配置:任何合法的移动都会为第二个玩家留下获胜配置。

考虑所有丢失的配置 (xi,yi,zi),其中 xi

我已经搜索和搜索,但无法弄清楚如何找到所有丢失(冷)的位置。通过对坐标的二进制值求和得到 nimnumber,如果 nimnumber > 0 则它是冷位置。但我最终得到 Σ(xi+yi+zi) > 1mil。谁能帮我指出正确的方向?

【问题讨论】:

  • Riotburn,如果有用,请勾选 Dennis 的回复,或者至少以某种方式回应他——这只是礼貌!

标签: algorithm


【解决方案1】:

由于是作业,我不会发布完整的解决方案,但这里有一个提示:

你已经知道 xi isWinningPosition[][][][],其中isWinningPosition[a][b][c][d] 对应于大小为 a、b、c 的堆,轮到 d)并递归。 (注意:查找表中的每个条目都需要将 truefalsenot computed 作为三个独立的东西来处理。)

【讨论】:

  • 感谢您的帮助,不过对查找表一无所知。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-17
相关资源
最近更新 更多