拓展威佐夫博弈
按照上面在棋盘上移动棋子的方式,每次向左下移动可以看作是向左移动 $ dx $ ,向下移动 $ dy $,要求 $ |dx?dy|<1 $。那么如果将这个要求扩展到 $ |dx?dy|< d $ 呢?我们同样可以得出第 $ k $ 个奇异局势 $ (x,y) $ 为前 $ 0?k?1 y=x+d?k $ 。根据Betty定理同样能得出第 $ k $ 个奇异局势为 $ ( \frac {2-d+ \sqrt {d^2+4}}{2}k ,\frac{2+d+ \sqrt {d^2+4}}{2}k ) $
给你两堆石子,每次可以单独拿一堆中的任意值,或者两堆都拿,但是两堆拿的值需满足 $ |x-y|<=k $
本题就是拓展威佐夫博弈,d取k+1
cpp
void solve(){
int a,b,K;
cin>>a>>b>>K;
int d=K+1;
if(a<b)swap(a,b);
int k=(a-b)/d;
int x=(2+d+sqrt(d*d+4))/2*k,y=(2-d+sqrt(d*d+4))/2*k;
if(x==a&&y==b)cout<<"0\n";
else cout<<"1\n";
}