随笔分类 - 博弈
A Chess Game POJ - 2425
摘要:Let's design a new chess game. There are N positions to hold M chesses in this game. Multiple chesses can be located in the same position. The positio
Digital Deletions HDU - 1404
摘要:Digital deletions is a two-player game. The rule of the game is as following. Begin by writing down a string of digits (numbers) that's as long or as
S-Nim HDU - 1536
摘要:#include<iostream> #include<cstdio> #include<cstring> #include<vector> using namespace std; int main(){ int n;//max int a[102],x[102],vis[102],sg[102]
Northcott Game HDU - 1730
摘要:Tom和Jerry正在玩一种Northcott游戏,可是Tom老是输,因此他怀疑这个游戏是不是有某种必胜策略,郁闷的Tom现在向你求救了,你能帮帮他么? 游戏规则是这样的: 如图所示,游戏在一个n行m列(1 ≤ n ≤ 1000且2 ≤ m ≤ 100)的棋盘上进行,每行有一个黑子(黑方)和一个白子
取石子问题
摘要:有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干,规定最后取光物体者取胜。这是我国民间很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻的数学原理。下面我们来分析一下要如何才能够取胜。 (一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮
Life Winner Bo HDU - 5754
摘要:Bo is a "Life Winner".He likes playing chessboard games with his girlfriend G. The size of the chessboard is N×MN×M.The top left corner is numbered(1,
Problem F. Grab The Tree HDU - 6324
摘要:题意:给出一棵n个节点的树,每个节点有一个权值,Q和T玩游戏,Q先选一些不相邻的节点,T选剩下的节点,每个人的分数是所选节点的权值的异或和,权值大的胜出,问胜出的是谁。 题解: 话说,这题后面的边跟解的过程半毛钱关系没有,但是自己就是想不到,这博弈。。。 设sum为所有点权的异或和,A为先手得分,B
Being a Good Boy in Spring Festival HDU - 1850
摘要:桌子上有M堆扑克牌;每堆牌的数量分别为Ni(i=1…M);两人轮流进行;每走一步可以任意选择一堆并取走其中的任意张牌;桌子上的扑克全部取光,则游戏结束;最后一次取牌的人为胜者。 现在我们不想研究到底先手为胜还是为负,我只想问大家: ——“先手的人如果想赢,第一步有几种选择呢?” Input输入数据包
Nim or not Nim? HDU - 3032
摘要:题意:给定n堆石子,两人轮流操作,每次选一堆石子,取任意石子或则将石子分成两个更小的堆(非0),取得最后一个石子的为胜。 题解:比较裸的SG定理,用sg定理打表,得到表1,2,4,3,5,6,8,7,9,10,12,11...可以发现当x%4==0时sg[x]=x-1;当x%4==3时sg[x]=x
邂逅明下 HDU - 2897
摘要:Problem description: 有三个数字n,p,q,表示一堆硬币一共有n枚,从这个硬币堆里取硬币,一次最少取p枚,最多q枚,如果剩下少于p枚就要一次取完。两人轮流取,直到堆里的硬币取完,最后一次取硬币的算输。对于每一行的三个数字,给出先取的人是否有必胜策略,如果有回答WIN,否则回答LO
4.1.8 巴什博弈
摘要:只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),
4.1.7 Cutting Game(POJ 2311)
摘要:Problem description: 两个人在玩如下游戏。 准备一张分成 w*h 的格子的长方形纸张,两人轮流切割纸张。要沿着格子的边界切割,水平或者垂直地将纸张切成两部分。切割了n次之后就得到了n+1张纸,每次都选择切得的某一张纸再进行切割。首先切出只有一个格子的纸张(1*1的各自组成的纸张)
4.1.6 Grundy数-硬币游戏2
摘要:Problem Description: Alice 和 Bob 在玩一个游戏。给定 k 个数字 a1,a2,……,ak。一开始,有n堆硬币,每堆各有 Xi 枚硬币。Alice 和 Bob 轮流选出一堆硬币,从中取出一些硬币。每次所选硬币的枚数一定要在 a1,a2,……,ak 当中。Alice先取,
4.1.5 Georigia and Bob
摘要:Problem description: Georgia and Bob 在玩一个游戏。 如图所示,排成直线的格子上放有n个棋子。棋子 i 在左数第 Pi 个格子上。Georgia 和 Bob 轮流选择一个棋子向左移动。每次可以移动一格及以上任意多格,但是不允许反超其他的棋子,也不允许将两个棋子放在
Calendar Game HDU - 1079
摘要:Adam and Eve enter this year’s ACM International Collegiate Programming Contest. Last night, they played the Calendar Game, in celebration of this con
4.1.4 Nim
摘要:Problem description: 有n堆石子,每堆各有ai颗石子。A和B轮流从非空的石子堆中取走至少一颗石子。A先取,取光所有石子的一方获胜。当双方都采用最佳策略时,谁会获胜? 1<=n<=100000 1<=ai<=10e9 Input: n = 3 a={ 1, 2 ,4} Output
4.1.3 Euclid's Game (POJ 2348)
摘要:Problem description: 以辗转相除法为基础,给定两个整数a和b,Stan和Ollie轮流从较大的数字中减去较小数字的倍数(整倍数),并且相减后的结果不能为零。Stan先手,在自己的回合将其中一个数变为零的一方获胜,当双方都采取最优策略时,谁会获胜? a,b都是正整数。 Input:
4.1.2 A Funny Game(POJ 2484)
摘要:Problem description: n枚硬币排成一个圈,A和B轮流从中取一枚或两枚硬币,不过取两枚时,所取的两枚硬币必须是连续的。硬币取走之后留下空位,相隔空位的硬币视为不连续的。A开始先取,取走最后一枚硬币的一方获胜。当双方都采取最优策略时,谁会获胜? 0<=n<=100000 Input
4.1.1 硬币游戏
摘要:Problem description: A和B玩一个这样的游戏,给定k个数字a1,a2,……ak。现有x个硬币,A和B轮流取硬币,每次取的硬币数量只能是这k个数字当中。当A先取,取走最后一枚硬币的一方获胜。当双方都采取最佳策略时,谁会获胜?假定k个数字中一定有1。 1<=x<=1000; 1<=k