题意

luogu P2252 取石子游戏(威佐夫博弈)-LMLPHP

题解

对于像我这种不知道威佐夫博弈的人来说,拿到题就开始打表了。

然而打完后并没有发现什么。

然后才知道是威佐夫博弈。

结论是当(int)((b-a)*((sqrt(5.0)+1.0)/2.0))=a时为必败局面。

否则为必胜局面。

推荐证明

 #include<iostream>
#include<cstring>
#include<cmath>
#include<cstdio>
#include<algorithm>
using namespace std;
long long a,b;
int main(){
scanf("%lld%lld",&a,&b);
if(a>b)swap(a,b);
if((long long)((b-a)*(sqrt(5.0)+1.0)/2.0)==a)printf("");
else printf("");
return ;
}
05-19 08:42