蓝桥杯历届试题-高僧斗法(博弈论)

蓝桥杯历届试题-高僧斗法是一道尼姆堆博弈论(Nim游戏),本文只对尼姆堆问题进行粗略的解释,不对题目进行讲解,我相信只要搞清楚了尼姆堆这种博弈论问题之后,这道题将会迎刃而解。

一般的Nim游戏是这样的:有n个石堆,每堆里有数量一定的石子,两人从其中任意一堆中取任意数量的石子(不能超过这堆石子数的最大值),不能不取,最后某个人取完,所有石堆中的石子数量都为0时,另一个人就为输。

这里要先介绍一些概念:定义两个状态,分别为N和P,N代表Next-position,可以理解为先手必胜状态,P代表Previous-position,可以理解为后手必胜状态。(如果实在搞不清楚这个也没关系,直接看结论)

结论:当游戏开始时,各个石堆(a1,a2,a3…an),当且仅当a1 ^ a2 ^ a3 ^ … ^an=0时它为P。即先手必败。(至于这个结论是如何得出的,可以百度深入了解一下)

所以我们以后遇到这种博弈论问题时,直接把这些石头的数量相互异或,如果结果为0,则先手必败;否则先手必胜。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值