1.當 n = m+1 時 第乙個取的人不可能獲勝;
2.•當 n = k(m + 1) + r 時 (k,r,s都是未知的整數)*
•先取者拿走 r 個,那麼後者再拿(1~m)個
• 此時 n =(k-1)*(m+1)+s
•先取者再拿走s 個 最後總能造成 剩下n=k(m+1) 的局面*
3.•若n=k(m+1) 那麼先取者必輸*
bool
bash_g
(int n,
int m)
兩堆石子的狀態為 [a,b] (滿足a<=b)
當 a=(k(√5+1)/2), b=a+k 時滿足奇異局勢,那麼則先手輸,反之則先手贏*
bool
wythoff_game
(int a,
int b)
//b要大於a
有多堆各若干個物品,兩個人輪流從某一堆取任意多的物品,規定每次至少取乙個,多者不限,最後取光者得勝。
用0與每個數異或,如最後結果為0,則後手勝
設一陣列a[n][m],令sum=0
迴圈與陣列每乙個資料異或(sum^=a[i][j])
sum最後等於0則後手勝
a[m]每堆物品的數量 sum=
0int
nimm_game
(int n,
int m)
//n堆物品,m個物品
int
fib_game
(int n)
n個石子圍成乙個環,每次取乙個或者取相鄰的2個(每個石子有序號)
石子數<=2先手贏,否則後手贏,偶數先手,奇數後手
ACM 數論篇 博弈論
此類問題一般有如下特點 1 博弈模型為兩人輪流決策的非合作博弈。即兩人輪流進行決策,並且兩人都使用最優策略來獲取勝利。2 博弈是有限的。即無論兩人怎樣決策,都會在有限步後決出勝負。3 公平博弈。即兩人進行決策所遵循的規則相同。問題模型 只有一堆 n 個物品,兩個人輪流從這堆物品中取物,規定每次至少取...
博弈論之Best Response
4.博弈論之best response 在博弈論中,有一種決策稱為best response,通俗的意思就是選擇一種策略使得團體利益最大化。c語言學習成績的評定方式分為兩種,一種是自由刷題模式 compete 沒有固定標準,刷題越多者排名越靠前,其期末分數越高 另一種是規定每個人必須做夠多少道題 s...
博弈論之尼姆博弈
有三堆分別有 a,b,c 個物品,兩個人輪流從某一堆取任意多的物品,規定每次至少取乙個,多者不限,最後取光者得勝。當 a b c 0 時,先手必敗 反之,先手必勝。對於 a,b,c 三個數,我先假設 a 最大,b 第二大,c 最小,且 a,b,c 對應的二進位制位數分別為 x,y,z 那麼,要使得 ...