Nim博弈两题

一、Nim博弈简介

1、游戏规则

设有k堆物品,(k>=1)各堆分别含有n1,n2,n3,……….nk件物品,游戏过程为:
(1)两个游戏者交替进行游戏;
(2)当轮到每个游戏者取子时,选择其中的一堆,并从所选的堆中取走至少一件物品(可以取走该堆中所有物品);
(3)直到所有堆为空。

2、获胜条件

在Nim博弈中一般有两种情形,分别为:
(1)最后取子的人获胜
(2)最后取子的人失败

3、解题方法

(1)针对情形1,即最后取子的人获胜时,首先求所有堆的物品数的异或:k=n1^n2^n3………nk,然后判断每一堆的数目,若某一堆的数目ni^k < ni,则认为先手从这一堆开始取的时候可以获胜,并且所取得数目必须为ni-k;
(2)针对情形2,即最后取子的人失败时,同样的求所有数目的异或:k=n1^n2^n3………nk,若得到的k=0,则认为后手胜,否则先手胜,另外,需要特别注意的是:若所有堆的数目均为1的时候,必须特判,因为按照之前的方法判断会得出相反的错误结论,此时若有奇数堆,则后手胜,若有偶数堆,则先手胜。

二、两道例题

1、<

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值