您的位置:首页 > 其它

hdu 1846 Brave Game 博弈

2013-09-12 16:47 459 查看
#include <cstdio>
#include <iostream>
using namespace std;
const int maxn=1010;
int sg[maxn],vis[maxn];
int n,m;
int main()
{
    int T;
    cin>>T;
    while(T--)
    {
        cin>>n>>m;
        if(n<=m)cout<<"first"<<endl;
        else
        {
            if(n%(m+1)==0)cout<<"second"<<endl;
            else cout<<"first"<<endl;
        }
    }
    return 0;
}
/*
    简单博弈
    若n是(m+1)的倍数,则第一个人取a,第二个人就取m+1-a,每一循环取走m+1,
最后剩下m+1个,这样无论第一个人取多少,第二个人必定能取完。
    其他情况,第一个人必定可以取一定数目使得石子数变为m+1的倍数,
即为上述情况,那样第一人必胜
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: