以后这种题还是不能空想,必须打个表看看,规律还是比较好找的……具体是啥看代码。用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; }