最近总是做到有关博弈之类的题目,突然想认真的了解一下,现在将我的了解总结如下,希望对看到的人有所帮助。同时也请多多支持哈~~
巴什博弈是众多博弈种类中众多的一种,同时也是最简单的一种。它的基本模型是只有一堆物品,数量为n,两个人轮流从这堆物品中拿走x(1<=x<=m)个,拿走最后一个的人获胜。
这里有两个基本的特点:一堆物品;两个人;拿走的数量处于一个区间内。
下面我们对物品数量的组成有如下几种方式:
由此我们发现,谁面临的数量为(m+1)的整除倍,谁就必败。
入门题:
题意:模板题,题意就是两个人取石子,先去取光者获胜。
题解:巴什博弈
代码:
#include<stdio.h> #include<string.h> #include<algorithm> #include<iostream> using namespace std; int n,a,b; int main() { cin>>n; while(n--){ cin>>a>>b; if(a%(b+1)!=0){ cout<<"first"<<endl; }else{ cout<<"second"<<endl; } } return 0; }
原文:https://www.cnblogs.com/blogxsc/p/12770657.html