HDU 1846 Brave Game

来源:互联网 发布:网络层通过什么通信 编辑:程序博客网 时间:2024/06/06 05:11
1、 本游戏是一个二人游戏;
2、 有一堆石子一共有n个;
3、 两人轮流进行;
4、 每走一步可以取走1…m个石子;

5、 最先取光石子的一方为胜;

典型的巴什博弈

http://blog.csdn.net/masked__dance/article/details/40401827

不过,总是得有个前提,就是他们都非常聪明,而且使用的都是最优策略。

#include <iostream>#include <stdio.h>using namespace std;int main(){    int T;    scanf("%d",&T);    while(T--){        int num,maxnum,sum;        scanf("%d%d",&num,&maxnum);///num表示总的石子数,maxnum表示一次最多能取得的石子数        if(num<=maxnum)            cout<<"first"<<endl;        else if(num%(maxnum+1)!=0)            cout<<"first"<<endl;        else            cout<<"second"<<endl;    }    return 0;}



0 0