题目描述:威佐夫博弈(Wythoff's game):有两堆各若干个物品,两个人轮流从任一堆取至少一个或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。
对应ACM题目训练:https://vjudge.net/problem/HDU-1527
参考代码:
#include <stdio.h>
#include <math.h>
int main()
{
long int n,m;
while(scanf("%d %d",&n,&m)!=EOF)
{
if(n>m)
{
n = n^m;
m = m^n;
n = n^m;
}
int k = m -n;
int p = (int)(k*(1+sqrt(5))/2.0);
if(p==n)
printf("0\n");
else
printf("1\n");
}
return 0;
}