Wythoff Game 非奇异局势变为奇异局势

原文链接:https://blog.csdn.net/luomingjun12315/article/details/45479073
假设面对的局势是(a , b)。(b大于等于a)
如果 b = a,则同时从两堆中取走 a 个物体,就变为了奇异局势(0,0);
如果 a = a[k] ,b > b[k] ,那么,取走b - b[k]个物体,即变为奇异局势;
如果 a = a[k] , b < b[k] 则同时从两堆中拿走a - a[b-a] 个物体(详见注释1)变为奇异局势( a[b-a], a[b-a] + b - a);
如果a > a[k] ,b= a[k] + k 则从第一堆中拿走多余的数量a - a[k] 即可;
如果a < a[k] ,b= a[k] + k,分两种情况:
第一种,a=a[j] (j < k)从第二堆里面拿走 b - b[j] 即可;
第二种,a=b[j] (j < k)从第二堆里面拿走 b - a[j] 即可(交换a,b)。
注释1:
因为奇异局势的项数是有 b[k] - a[k] 的差决定(b = a[k] + k),每一个奇异局势的项数都是独一无二的。
也就是说,我们 只能将 (a , b) (a = a[k], b < b[k])转化为 (a[b-a], b[b-a])(a[b-a], a[b-a] + b - a)。
因为他们的差是确定的始终都是 b-a,故可以转化为 第 b-a 项。
由此我们可以 将 (a , b) (a = a[k], b < b[k]) 转化为奇异局势 (a[b-a], b[b-a])也就是。
所以我们可以逆推得出,只要将 两边 同时减去 a - a[b-a] 即可。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值