Posted on 2012-01-13 18:20
C小加 阅读(198)
评论(0) 编辑 收藏 引用 所属分类:
解题报告
点击查看题目巴什博弈。n为剩余总数,m为最多可取数量。当n==m+1时,无论后者如何取,先者都能获胜。当n==(m+1)*r+i(r为自然数,i<m+1)时,先者先取i个,剩下(m+1)*r,后者取x个,先者取y个,只要保证x+y==m+1,则剩下(m+1)*(r-1)。依次这样下去先者就可以取胜。可得:只要i>0,先者必胜,否则必败。
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
while(n--)
{
int a,b;
cin>>a>>b;
if(a%(b+1))
{
cout<<"Win"<<endl;
}
else cout<<"Lose"<<endl;
}
}