巴什博弈

Posted l1l1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了巴什博弈相关的知识,希望对你有一定的参考价值。

处理何种问题:有n个石子,两个人轮流取石子,规定至少取1个,最多取k个,最后取光者获胜。

 

性能:时间复杂度为O(1)

 

原理:n%(k+1)==0,后手必胜(先手无论怎么取,后手只需要补全至k+1个即可);n%(k+1)!=0,先手必胜(先手只需要第一次将n%(k+1)的余数取尽,先手就转成“后手”了)

 

实现步骤:略

 

备注:遇到此类问题可向巴什博弈方向转化,例如:有n个石子,两个人轮流取石子,规定至少取1个,最多取k个,最后取光者输掉游戏(区别于上面赢)。因为是取掉最后一个必输,也就是说,最后一局取走的石子数肯定是1,所以问题就变为有(n-1)个石子的巴什博弈了。

 

输入样例解释

55  6 // 55个石子,每次最多取6个

545  8

 

输出样例解释

First Win  //先手获胜

First Win

 

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;

int main()
{
    int n,k;
    while(~scanf("%d%d",&n,&k))
    {
        if(n%(k+1)==0)
            printf("Second Win
");
        else
            printf("First Win
");
    }
    return 0;
}

  

以上是关于巴什博弈的主要内容,如果未能解决你的问题,请参考以下文章

nyoj 1077 小博弈 另类巴什博奕

nyoj 1077 小博弈 另类巴什博奕

博弈问题(巴什博弈 威佐夫博弈 尼姆博弈 斐波拉契博弈)结论

博弈论(巴什博奕,威佐夫博弈,尼姆博弈,斐波那契博弈)

博弈论(巴什博奕,威佐夫博弈,尼姆博弈,斐波那契博弈)

博弈论相关(巴什博弈)