hdu1846巴什博弈

来源:互联网 发布:网络销售如何提高业绩 编辑:程序博客网 时间:2024/04/30 06:11

接触一下博弈,这是最经典的博弈了。
思路,小于等于m的就不说了,当只有m+1个物品时,则第一个人会输。
这样就可以找到制胜的最佳方案了,当n=(m+1)*r+s时,只要第一个人先取s个,则接下来只要保证留下(m+1)倍数个的物品给下一个人便能赢的比赛。

 

代码:

#include<iostream>using namespace std;int main(){    int T,n,m;    cin>>T;    while(T--)    {        cin>>n>>m;        int tmp=n%(m+1);        if(tmp>0)        cout<<"first"<<endl;        else cout<<"second"<<endl;    }    return 0;}


 

原创粉丝点击