快来踩爆这个蒟蒻吧|

Little_corn

园龄:1年1个月粉丝:11关注:17

2024-04-30 13:33阅读: 30评论: 0推荐: 0

Nim 游戏及其变形

Nim:

n 堆物品,第 iai 个,两个玩家轮流取走任意一堆的任意个物品,但不能不取,不能操作者输。

结论:若 i=1nai0,先手必胜,反之后手必胜。

证明: 显然终局满足情况。

那么当 i=1nai=k(k0) 时,我们只要令含有 k 最大位的 aiaik 即可出现 k=0 的情况,后手必然会使得 k0。交替进行则后手必然输。

K-Nim:

n 堆物品,第 iai 个,两个玩家轮流取走任意 k 堆的任意个物品,但不能不取,不能操作者输。

结论:若 bit=1vali=1n((ai)bitmod(k+1))0,先手必胜,否则后手必胜。

证明:可以类比 Nim 的证明方法。

阶梯 Nim:

n 堆物品,第 iai 个,两个玩家轮流选择第 i 堆的任意个物品移动到 i1 堆,但不能不取,不能操作者输。(第 0 堆是垃圾桶)

结论:若 i=1nai[imod2=1]0,先手必胜,否则后手必胜。

证明: 后手遇到先手必胜的情况,如果将偶数堆的物品丢到了奇数堆,先手可以把它再丢进偶数堆。

Anti Nim:

n 堆物品,第 iai 个,两个玩家轮流取走任意一堆的任意个物品,但不能不取,取到最后一个物品者输。

结论:一个状态是必胜态,当且仅当一下两种情况:

  • 最大堆物品数量为 1,且有偶数堆物品。

  • 最大堆物品数量大于 1,且 i=1nai0

证明:

(1) 最大堆物品数量为 1

  • a. 物品堆数为偶数:先手必胜。

  • b. 物品堆数为奇数:先手必败。

(2) 仅有一堆物品数量大于 1

此时显然有 i=1nai0

  • a. 有奇数堆物品:此时先手可以全部将最大堆的物品全部取光,转成 (1)a. 了,先手必胜。

  • b. 有偶数堆物品:此时先手可以将最大堆的物品取得只剩一个,还是变为 (1)a.,先手必胜。

于是,在 (2) 的情况下先手必胜。

(3) 有两堆及以上的物品数量大于 1

  • a. i=1nai=0 时:可能转化为 (3)b. 或者 (2)

  • b. i=1nai0: 一定可以转化为 (3)a.

通过观察可以发现,若先手拿到的是 (3)b. 的情况,则先手总是可以转化为 (3)a. 的情况,使得后手最后只能将 (2) 的局势交给先手。进一步可以推出 (3)a. 为先手必败状态而 (3)b. 是先手必胜状态。

本文作者:little-corn

本文链接:https://www.cnblogs.com/little-corn/p/18167875

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Little_corn  阅读(30)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起