一. 巴什博奕(bash game):
a和b一塊報數,每人每次報最少1個,最多報4個,看誰先報到30。這應該是最古老的關於巴什博奕的遊戲了吧。
其實如果知道原理,這遊戲一點運氣成分都沒有,只和先手後手有關,比如第一次報數,a報k個數,那麼b報5-k個數,那麼b報數之後問題就變為,a和b一塊報數,看誰先報到25了,進而變為20,15,10,5,當到5的時候,不管a怎麼報數,最後乙個數肯定是b報的,可以看出,作為後手的b在個遊戲中是不會輸的。
那麼如果我們要報n個數,每次最少報乙個,最多報m個,我們可以找到這麼乙個整數k和r,使n=k*(m+1)+r,代入上面的例子我們就可以知道,如果r=0,那麼先手必敗;否則,先手必勝。
巴什博奕:只有一堆n個物品,兩個人輪流從中取物,規定每次最少取乙個,最多取m個,最後取光者為勝。
**如下:
#include
using namespace std;
int main()
if(temp==0) cout<<"後手必勝"<
#include
#include
using namespace std;
const int n = 55;
int f[n];
void init()
} if(flag) puts("second win");
else puts("first win");
} return 0; }
各種常見的博弈論 簡單例題
斐波那契博弈 有一堆個數為n n 2 的石子,遊戲雙方輪流取石子,規則如下 1 先手不能在第一次把所有的石子取完,至少取1顆 2 之後每次可以取的石子數至少為1,至多為對手剛取的石子數的2倍。約定取走最後乙個石子的人為贏家,求必敗態。結論 當n為fibonacci數的時為必敗態。即將斐波那契數列打表...
hdu5754各種博弈
官方題解 我們依次分析每一種棋子。王。首先注意乙個3 3的棋盤,開始在 1,1 問走到 3,3 誰有必勝策略。窮舉所有情況,容易發現這是後手贏。對於nn和mm更大的情況,我們把橫座標每隔3 縱座標每隔3的點都畫出來,這些點都是符合後手勝的。因為無論先手怎麼移動,後手都能重新移動到這些格仔,直到到了終...
各種博弈 HDU5754
題意 乙個西洋棋棋盤,有四種棋子,從 n,m 走到 1,1 走到 1,1 的人贏,先手贏輸出b,後手贏輸出g,平局輸出d。題解 先把從 n,m 走到 1,1 看做是從 1,1 走到 n,m 四種棋子的規則如下 1 王 king 橫 豎 斜都可以走,每次限走一格 2 車 rook 橫 豎均可走,不能斜...