題目意思大概是說,有乙個n*m的棋盤,玩家從右上角的格仔開始移動,只能向左、向下或者向左下移動,當然不能超出棋盤的範圍,直到有一方不能動為止,求是否先手必勝。這道題有了思路就很簡單,從左下角的格仔依次遞推p態和n態的範圍,就會發現如果行和列只要有乙個為偶數即為先手必勝,**如下:
#pragma comment(linker, "/stack:1024000000,1024000000")
#include#include#include#include#include#include#include#include#include#include//簡單巴什博弈
using namespace std;
typedef long long ll;
int main()
return 0;
} //--------------------------------------
/* p狀態 和 n狀態轉化圖
設p狀態是先手必勝,而n狀態是先手必敗
...6 p p p p p p ...
5 n n n n n p ...
4 p p p p n p ...
3 n n n p n p ...
2 p p n p n p ...
1 n p n p n p ...
----------------------------------------*/
hdu2147 kiki s game(巴什博弈)
description input input contains multiple test cases.each line contains two integer n,m 0 output if kiki wins the game printf wonderful else what a pi...
簡單博弈之巴什博弈
例題 guns和roses是兩個好朋友,這一天他們比賽吃葡萄。假定他們有ans顆葡萄。在比賽之前他們會首先確定每次吃葡萄的數量的最大值為s,和ans的具體值。兩個人輪流吃葡萄,每次最多吃s顆,不能不吃。即假定每次吃m顆葡萄,則 1 m s 遊戲規定在誰吃完葡萄後,他們兩個人所吃的葡萄總和等於ans,...
博弈 巴什博弈
只有一堆n個物品,兩個人輪流從這堆物品中取物,規定每次至少取乙個,最多取m個。最後取光者得勝。顯然,如果n m 1,那麼由於一次最多只能取m個,所以,無論先取者拿走多少個,後取者都能夠一次拿走剩餘的物品,後者取勝。因此我們發現了如何取勝的法則 如果n m 1 r s,r為任意自然數,s m 那麼先取...