这种题就是考验找规律能力,而且还很难、
而且好多题都是这种题,都是找规律题,证明网上一个也没有
直接给规律:
if(a%2&&b%2)sg(a,b)=0;
sg(a,b)=sg((a+1)/2,(b+1)/2)+1;
尝试证明,结果并证不出来、、以前还有一个斐波那契数列中没出现过的数字的斐波那契数列,也是找规律,证明也没有
简直是毒瘤题
码:
#include<iostream>
#include<cstdio>
using namespace std;
int getsg(int a,int b)
{
if(a%2&&b%2)return 0;
if(a%2==0&&b%2==0)return getsg(a/2,b/2)+1;
if(a%2)return getsg(a+1,b);
else return getsg(a,b+1);
}
int T,n,ans,i,x,y;
int main()
{
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
n/=2;
ans=0;
for(i=1;i<=n;i++)
{
scanf("%d%d",&x,&y);
ans^=getsg(x,y);
}
if(ans==0)printf("NO\n");
else printf("YES\n");
}
}