Nim游戏详解

部(xu)分(duo)材料摘自百度百科

定义

Nim游戏:通常的Nim游戏的定义是这样的:有若干堆石子,每堆石子的数量都是有限的,合法的移动是“选择一堆石子并拿走若干颗(不能不拿)”,如果轮到某个人时所有的石子堆都已经被拿空了,则判负(因为他此刻没有任何合法的移动)。

P局面与N局面:P代表Previous,N代表Next。所谓P局面,简单点讲即在这个局面的人必败,而N局面相反。

性质

这里写得简单一点,应该不难懂

①:从当前局面出发,能够转移成为P局面的就是N局面。

②:从当前局面出发,不论如何取都是N局面的就是P局面。

③:不能移动的局面就是P局面(废话)

判断方法

判断一个局面是P/N的方法有很多。一般能想到的是递归。对于一个局面,递归处理其子局面。如果有至少一个是P局面,那么当前局面就是N局面。否则就是P局面。

但是这些递归会有很多重复计算,于是我们就可以考虑记忆化搜索,把每次的结果存起来,就可以大大减小时间复杂度。

Nim游戏结论

但是,不论怎么优化,时间复杂度总是不会优于 O(

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值