盒子

[poj1067]取石子游戏_威佐夫博奕

题目:取石子游戏
有关威佐夫博奕还是这篇文章讲得最好QvQ…
直接上结论:
必败态的通项公式为:

1
\alpha = \left ( \sqrt{5} + 1 \right )/2

//顺便马一个好赞的在线公式编辑器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<cstdio>
#include<cmath>
const double key = (sqrt(5.0) + 1.0) / 2;
int main(){
int a, b, k;
while(scanf("%d%d", &a, &b) == 2){
if(a > b){
a ^= b, b ^= a, a ^= b;
}
k = b - a;
printf((floor(k * key) == a) ? "0\n" : "1\n");
}
return 0;
}