博奕专题

poj1067(威佐夫博奕)

题意:给两堆石头,两种操作,1、在任意一堆中去任意个石头;2、在两堆中去相同多个石头 必败状态为(0,0)(1,2)(3,5)(4,7)(6,10 )  ( 8 ,13 ) (9,15)、(11,18)、(12,20)。。。。。 然后请参照http://blog.csdn.net/u013509299/article/details/37954679 代码如下: #include<io

hdu 1846 Brave Game 巴什博奕

Description 十年前读大学的时候,中国每年都要从国外引进一些电影大片,其中有一部电影就叫《勇敢者的游戏》(英文名称:Zathura),一直到现在,我依然对于电影中的部分电脑特技印象深刻。  今天,大家选择上机考试,就是一种勇敢(brave)的选择;这个短学期,我们讲的是博弈(game)专题;所以,大家现在玩的也是“勇敢者的游戏”,这也是我命名这个题目的原因。  当然,除了

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

Problem Description 有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。 Input 输入包含若干行,表示若干

博弈模板(巴什博奕,威佐夫博弈,尼姆博弈,斐波那契博弈)

一.  巴什博奕(Bash Game):   A和B一块报数,每人每次报最少1个,最多报4个,看谁先报到30。这应该是最古老的关于巴什博奕的游戏了吧。 其实如果知道原理,这游戏一点运气成分都没有,只和先手后手有关,比如第一次报数,A报k个数,那么B报5-k个数,那么B报数之后问题就变为,A和B一块报数,看谁先报到25了,进而变为20,15,10,5,当到5的时候,不管A怎么报数,最后一个数肯定

[ACM] hdu 2149 Public Sale (巴什博奕)

Public Sale Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3396    Accepted Submission(s): 2095 Problem Description   虽然不想,但是现实总归是现实,

[ACM] hdu 1846 Brave Game (巴什博奕)

Brave Game Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5644    Accepted Submission(s): 3748 Problem Description 十年前读大学的时候,中

CodeForces - 1451F Nullify The Matrix(尼姆博奕变形)

题目链接:点击查看 题目大意:给出一个 n * m 的矩阵 a,两个人在矩阵上玩游戏,每轮的操作规则如下: 选择任意一个点 ( x1 , y1 ) 作为起点,需要满足 maze[ x1 ][ y1 ] != 0选择任意一个点 ( x2 , y2 ) 作为终点,需要满足 x1 <= x2 && y1 <= y2点 ( x1 , y1 ) 减少一个任意值 x ∈ [ 1 , maze[ x1 ][

NYOJ135 取石子(二)(尼姆博奕+巴什博奕)

描述 小王喜欢与同事玩一些小游戏,今天他们选择了玩取石子。 游戏规则如下:共有N堆石子,已知每堆中石子的数量,并且规定好每堆石子最多可以取的石子数(最少取1颗)。 两个人轮流取子,每次只能选择N堆石子中的一堆,取一定数量的石子(最少取一个),并且取的石子数量不能多于该堆石子规定好的最多取子数,等哪个人无法取子时就表示此人输掉了游戏。 假设每次都是小王先取石子,并且游戏双方都绝对聪明,现在给你石