Posted on 2012-01-13 18:20
C小加 閱讀(207)
評論(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;
}
}