poj 1067 取石子游戏

原创 2016年05月30日 20:02:58

题目:
poj

题意:

中文题哦~O(∩_∩)O

分析:
经典又有趣的博弈问题。。

发现博弈最有意思的是这群人永远都知道 最佳游戏策略 【我怎么就不知道呢】

说正事:
这是一个博弈算法,名为威佐夫博弈。

问题:首先有两堆石子,博弈双方每次可以取一堆石子中的任意个,不能不取,或者取两堆石子中的相同个。先取完者赢。

思路:既然要先手赢,那么我们就分析一下 必败局势。
很好看出来:
(0,0),(1,2),(3,5),(4,7),(6,10),(8,13)…..
找规律可发现,所有的自然数都出现且只会出现一次。而两个数的差是递增的。而 第一个数的值=差值*1.618 即(sqrt(5)+1)/2;
所以就很好说了:

#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
//by mars_ch
using namespace std;
int n,m;
int temp; 
int main()
{
    while(scanf("%d%d",&n,&m) != EOF)
    {
        if(n>m) swap(m,n);   //这个要加,宝宝没加。。。
        int k=m-n;
        //printf("%d\n",k);
        temp=floor(k*(sqrt(5.0)+1.0)/2.0);     //这个是.0  因为精度问题   还要强制转化或者向下取整一下
        //printf("%d\n",temp);
        if(temp == n) printf("0\n");
        else printf("1\n");
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

POJ 1067 取石子游戏(威佐夫博奕)

题目地址:POJ 1067 威佐夫博弈模型。判断奇异局势。 根据面对非奇异局势,先拿者必胜;反之,则后拿者取胜。 判断奇异局势只用一个公式来判断就行。 假设b>a,若a==(int)(b-a)*(1...

POJ-1067 取石子游戏(威佐夫博弈)

直接是:威佐夫博弈。 这个过于繁琐,只能运用现成的结论。 设奇异局势(必败局势)为(a[i],b[i]),则有a[0]=b[0]=0;a[k]=前面未出现的最小自然数,b[k]=a[k]+k 具...

POJ-1067 取石子游戏

POJ-1067 取石子游戏/*黄金分割比例判断是不是非奇异局势,面对奇异局势必败 两个人如果都采用正确操作,那么面对非奇异局势,先拿者必胜 反之,则后拿者取胜。 */ //公式 ak =[k(1+...

【POJ1067】取石子游戏 ||【NYOJ161】(威佐夫博奕(Wythoff Game))

 威佐夫博奕(Wythoff Game):有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。这种情况下是颇为复杂的。我们用(ak,bk)...

POJ 1067 取石子游戏

取石子游戏 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 25862   Accepte...

取石子游戏(POJ1067)的原理

这两天在做POJ的题目,看到一题POJ1067,题目因为是中文的,所以并不是很难理解,但是解了一会没有什么思路。于是到网上找了方法,有一篇博客讲的十分详细,非常感谢该博主的贡献。 原来是威佐夫博弈,...
  • miaote
  • miaote
  • 2016年10月31日 20:20
  • 130

Poj 1067 取石子游戏(NIM,威佐夫博奕)

一、Description 有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子...

POJ 1067 取石子游戏 (巴什博弈+威佐夫博弈)

本来以为是很简单的题目,以为是下面介绍的巴什博弈(Bash Game)题型,这种题目的解答方式就是保证每次取完是N整数倍范围即可,但是题目原来不是巴什博弈,想参照巴什博弈的思想,找出每个时刻A取完能够...

POJ - 1067 - 取石子游戏 (威佐夫博奕)

题目传送:取石子游戏 威佐夫博奕(Wythoff Game):有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。 这种情...

poj1067取石子游戏

取石子游戏 有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干,规定最后取光物体者取胜。这是我国民间很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:poj 1067 取石子游戏
举报原因:
原因补充:

(最多只允许输入30个字)