这是一道非常基础的博弈,只要看了相关的资料这题应该是没有问题的,只是有时候的确是这样的,看这对,方法也是这样的,但是就是WA,这样的情况也不是没有,我也时时为这种情况头疼,当然没办法,这种情况我们要么看看别人的,要么换思路。。
这道题很简单,就不多说,主要说一下结论,就是n%(m+1)这个m和1分别是可以摸到的最大值和最小值。
对于任意的p,q(p,q分别是可以摸的最大值和最小值)这个结论都是对的。即n%(p+q),这是一个循环,大家应该是会懂得。
代码很简单,还是简单陈列一下:
#include<iostream> using namespace std; int main() { int m,n; int c; cin>>c; while(c--) { cin>>n>>m; if(m>=n||(n%(m+1)!=0)) cout<<"first"<<endl; else cout<<"second"<<endl; } return 0; }