1.巴什博弈 一堆 n個物品 最多拿m個 最少拿 1個
#include int main(int argc, char *argv)
return 0;
}
2.威佐夫博弈 兩堆物品 最多拿一堆 最少拿 乙個
#include #include#includeint x=(sqrt(5)+1)/2;
int main(int argc, char *argv)
return 0;
}
3.nim博弈 n堆物品最多拿一堆 最少 拿乙個
#include int main(int argc, char *argv)
{ int n;
while(scanf("%d",&n)!=eof)
{ int i;
int temp=0;
for(i=0;i有一堆物品,兩人輪流取物品,先手最少取乙個,至多無上限,但不能把物品取完,之後每次取的物品數不能超過上一次取的物品數的二倍且至少為一件,取走最後一件物品的人獲勝。
結論是:先手勝當且僅當n不是斐波那契數(n為物品總數)
#include #include #include using namespace std;
const int n = 55;
int f[n];
void init()
{ f[0] = f[1] = 1;
for(int i=2;i>n)
{ if(n == 0) break;
bool flag = 0;
for(int i=0;i
博弈 威佐夫博弈
有兩堆各若干個物品,兩個人輪流從某一堆或同時從兩堆中取同樣多的物品,規定每次至少取乙個,多者不限,最後取光著得勝。奇異局勢的性質 1.任何自然數都包含在乙個且僅有乙個奇異局勢中 2.任何操作都可以將奇異局勢變為非奇異局勢 3.採用適當的方法,可以將非奇異局勢變為奇異局勢。所以面對非奇異局勢,先手必勝...
博弈(尼姆,威佐夫 巴什)
一堆n個物品,兩個人輪流從這堆物品中取物,規定每次至少取乙個,最多取m個。最後取光者得勝。先手必勝為1 有兩種情況 盡可能避免剩餘 m讓自己輸的情況。那麼 n 0時,取的人必輸,n 1 m時,取的人必贏 n m 1時,取的人必輸0 我們讓下乙個取的人到必輸0狀態,那麼自己就是必勝1狀態 只要下一步能...
博弈論 巴什 威佐夫 nim遊戲 學習筆記
博弈論有好多好多好多.整理一下我來寫關於巴什博弈,威佐夫博弈 nim遊戲 首先先寫一些名詞 必敗態 即奇異局勢,面對這種局勢必敗。必勝態 通過合理操作可以變成必勝局。1.巴什博弈題面 alice 和 bob 玩取石子遊戲。他們的遊戲是這樣的 總共有 n 個石頭,每個人每次可以取 1 到 m 個石頭,...