HDU 2147 簡單巴什博弈

2021-07-15 08:45:57 字數 732 閱讀 6754

題目意思大概是說,有乙個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 那麼先取...