链接:http://acm.hdu.edu.cn/showproblem.php?pid=2188
巴什博弈的模板题,代公式就可以了。
a代表目标捐款额,b代表每次能捐的最大额度。那么如果当a是b+1的整数倍时,先捐的林先生一定输,因为林先生只能捐1-b之间的数,那么徐队只要每次补够b+1的金额就能保证赢。相对应的,如果a对b+1取余不为0时先捐的林先生一定赢,林先生第一次先捐这个余数,然后每次在徐队捐完之后补全b+1就一定能赢。
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
while(n--)
{
int a,b;
cin>>a>>b;
if(a%(b+1)>0)
cout<<"Grass"<<endl;
else
cout<<"Rabbit"<<endl;
}
return 0;
}