我是靠谱客的博主 落后棒棒糖,最近开发中收集的这篇文章主要介绍蓝桥杯历届试题-高僧斗法(博弈论),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

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

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

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

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

最后

以上就是落后棒棒糖为你收集整理的蓝桥杯历届试题-高僧斗法(博弈论)的全部内容,希望文章能够帮你解决蓝桥杯历届试题-高僧斗法(博弈论)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部