威佐夫博弈相对于巴什博弈和尼姆博弈最复杂了,我推了一下,推出了规律推不出公式
公式是这样的(抄自大牛):
a= k * (1 + sqrt(5))/2
b =a + k;
代码:
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; int a,b; int main(){ //freopen("input.txt","r",stdin); while(~scanf("%d%d",&a,&b)){ if(a<b){ a^=b; b^=a; a^=b; } int k=a-b; a=(int)(k*(1+sqrt(5))/2.0); if(a==b) printf("0\n"); else printf("1\n"); } return 0; }