以后这种题还是不能空想,必须打个表看看,规律还是比较好找的……具体是啥看代码。用SG函数暴力的部分就不放了。
#include<cstdio>
using namespace std;
int T,N,B,n;
int main()
{
freopen("powers.in","r",stdin);
scanf("%d",&T);
for(;T;--T)
{
int ans=0;
scanf("%d",&n);
for(int i=1;i<=n;++i)
{
scanf("%d%d",&B,&N);
if(B&1)
ans^=(N&1);
else if(N%(B+1)==B)
ans^=2;
else
ans^=((N%(B+1))&1);
}
puts(ans==0 ? "2" : "1");
}
return 0;
}