首页 > 代码库 > 威佐夫博奕(Wythoff Game)
威佐夫博奕(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)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。