【POJ1067】取石子游戏 威佐夫博弈 这种题真的有意义么?

题意:default是汉语,自己看去。

题解:

威佐夫博弈这种恶心东西,“正常”解法是打表找规律。

但是我自认为找不出来这种规律,考试要是出了这种题……

就随便输出一个来期望50分吧。。

要是每个测点都多组数据……那……就随机输出0/1期望10分吧。

要是多组数据的组数太多,那就按照表来乱搞。

小数据打表输出,大数据233。


威佐夫用的是黄金分割数。(网上查的)

下面是代码:

#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
const double q=(1+sqrt(5.0))/2.0;
bool work(int a,int b)
{
	if(a>b)swap(a,b);
	if(a==(int)((b-a)*q))return 0;
	return 1;
}
int main()
{
	for(int a,b;scanf("%d%d",&a,&b)!=EOF;)
		printf("%d\n",work(a,b));
}



你可能感兴趣的:(博弈,取石子游戏,POJ1067,威佐夫博弈)