游戏难题,两名玩家在玩替换硬币价值的游戏

时间:2019-12-11 08:58:13

标签: algorithm data-structures dynamic-programming game-theory

我们给出了n个硬币,每个硬币的面值为k。

现在,有两个玩家,尼克和詹姆斯交替轮流玩游戏。在每一回合中,玩家可以选择任何硬币并将其替换为面值之和等于被替换硬币的多个硬币。每个新硬币必须具有相同的面值。还给出了整数p,该极限表示玩家不能使用面值小于p的硬币进行替换。 所有玩家都给了无限数量的硬币,这些硬币具有无限的面值。

因此样本输入将为n,k,p,其中n为否。每个面值为k的硬币的数量和极限p在上面描述。如果双方都发挥出最佳状态,并且尼克首先开始,谁将赢得比赛。如果玩家无法玩转牌(意味着无法替换任何硬币),则该游戏将被放弃。

是nim问题游戏还是DP?我们该如何解决?

1 个答案:

答案 0 :(得分:2)

这绝对是Nim是正确思考方式的游戏:它是两人游戏,perfect information意味着两个玩家都始终了解完整的游戏状态,没有机会的元素,这是一款impartial游戏,意味着两个玩家都可以使用相同的举动,如果无法移动,则将输掉。因此Sprague–Grundy theorem适用于该游戏;游戏中的每个位置都等同于nimber。通过计算该职位的得分,我们可以解决一个职位,找到谁将在最佳比赛中获胜;当且仅当乘数不为零时,排名才是第一名。

但是,对于该特定问题,这完全没有必要,因为起始位置的所有硬币都具有相同的值。

  • 如果硬币的数量为偶数,则玩家2通过镜像策略获胜。配对硬币,然后对手在一个硬币上进行的任何动作,镜像在另一硬币上进行的动作。成对匹配结果硬币,并继续在它们上进行镜像。

  • 如果硬币数量奇数,则玩家1会将其中一个拆分为可能的最小值> = p的硬币,从而获胜,从而无法对这些硬币进行任何移动。然后,玩家1对剩余的硬币采用偶数的镜像策略。

  • 有一个特殊的情况:如果硬币的面值已经足以使玩家1不能进行任何移动,则玩家2总是获胜,无论硬币的数量是奇数还是偶数。

所以答案是:当且仅当n为奇数且k的系数> = p时,玩家1获胜。显然,不会有更有效的解决方案。