威佐夫博奕(Wythoff Game)
Posted chinacwj1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了威佐夫博奕(Wythoff Game)相关的知识,希望对你有一定的参考价值。
出现奇异局面,先取者必败,反之后拿者必败
奇异局面:(0,0) (1,2) (3,5) (4,7) (ak,bk)
ak=bk-k,ak=k*(1+√5)/2;
代码实现(poj 1067):
#include<cstdio>
#include<cstring>
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
double v=(sqrt(5.0)+1)/2;
int a,b;
while(~scanf("%d %d",&a,&b))
{
int k=a>b?a-b:b-a;
//cout<<k<<endl;
if(a>b) swap(a,b);
if(floor(k*v)==a)
{
//cout<<k<<" "<<v<<endl;
cout<<"0"<<endl;
}
else
{
cout<<"1"<<endl;
}
}
return 0;
}
以上是关于威佐夫博奕(Wythoff Game)的主要内容,如果未能解决你的问题,请参考以下文章