如果不了解威佐夫博弈的话,下面有威佐夫博弈的介绍
有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。
我们定义先手必败的局势为奇异局势,那么前几个奇异局势就是
性质
设奇异局势为第个奇异局势,那么。
性质
任何一个自热数都包含在一个且仅有一个奇异局势中。
性质
任何操作都会将奇异局势变为非奇异局势。
性质
可以采取适当的方法将非奇异局势变为奇异局势。
结论:
结合Betty定理:https://baike.baidu.com/item/%E8%B4%9D%E8%92%82%E5%AE%9A%E7%90%86/2677437?fr=aladdin
设一个局势但.
那么仅当的下取整等于时,那么必定为一个奇异局势.
其中黄金分割!
是不是很神奇?
给出代码:
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
long double cmp=(sqrt(5.0)+1.0)/2.0;//1.6180339887
int main()
{
int a,b;
cin >> a >> b;
if(a>b)swap(a,b);
if(floor((b-a)*cmp)==a)
{
cout << '0';
return 0;
}
cout << '1';
return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)