这是到威佐福博弈,主要是找奇异局势即是必败局势;
如(0 0)(1 2)(3 5)(4 7)(6 10)(8 13)(9 15)(11 18);
有公式判断奇异局势 ak = [k(1+sqrt(5.0))*0.5];
bk = ak + k;
当 a == [(b-a)*(1+sqrt(5.0))*0.5] ([]是取整, b > a);
#include<iostream>
#include<cmath>
using namespace std;
int m, n;
int main()
{
while(cin >> m >> n)
{
double q;
if( n < m ) swap(n, m);
q = (1+sqrt(5.0))*0.5;
if(m == (int)((n-m)*q))
cout << 0 << endl;
else
cout << 1 << endl;
}
}
hdu1527
最新推荐文章于 2019-10-19 19:11:18 发布