博弈论入门之斐波那契博弈
斐波那契博弈
斐波那契博弈是一种经典的博弈问题
有一堆石子,两个顶尖聪明的人玩游戏,先取者可以取走任意多个,但不能全取完,以后每人取的石子数不能超过上个人的两倍
结论
斐波那契博弈有一个非常重要的性质:
先手必败,当且仅当石子数为斐波那契数
是不是很神奇??
证明:
懒得看了,这里有
代码
#include<cstdio>
#include<map>
int fib[233],x;
std::map<int,bool>mp;
int main()
{
fib[1]=1;fib[2]=1;
for(int i=3;i<=50;i++) fib[i]=fib[i-1]+fib[i-2],mp[fib[i]]=1;
while(scanf("%d",&x)&&x!=0)
puts(mp[x]==1?"Second win":"First win");
return 0;
}
作者:自为风月马前卒
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。