博弈論初步

2022-07-31 03:00:24 字數 889 閱讀 3500

這是一道關於博弈的問題,希望以後考試中不會遇見:

題目:p1290 歐幾里德的遊戲

下面直接上**:

#includeusing namespace std;

typedef long long ll;

int main()

}if(m)cout << "stan wins" << endl;

else cout << "ollie wins" << endl;

}}

首先,我們要確定的一點就是只要乙個人能夠掌控全域性,那麼他一定贏了,這話怎麼講呢?我們舉幾個例子吧!(首先我們還是要假設大家都是絕頂聰明的)

例一: 

16 5

那麼首先若a先取:

6 5 取2個5

這時b沒法只能取乙個5

1 5這時明顯a贏了!

例二

17 5

若b先取:

7 5a沒法:

2 5b再取:

2 3a沒法

2 1b贏了

例三

5 5誰要是先取誰就贏了

這裡我們已經把所有的可以贏得情況列舉了一遍(前兩個例子可以歸為一類,而後面的例子單獨為一類)我們先設兩個要取的數分別為x,y(預設x>y),如果x-y>y即a至少可以有兩種情況,一種是把x取到小於y另一種就是把x取到大於y,而這兩種一定對應a的兩種生死,要麼贏,要麼輸,而另一種即x==y則如圖中所說可以肯定,先取的人必勝,所以這道題就很快的被我們解決了,對了!還有其餘的情況那就安分守己的乙個乙個取,因為如果一下取兩個一定會取得小於0的!所以綜上,只有這兩種情況可以判斷當局者是否控制局面即勝利,其他情況都不可以!

謝謝採納!!!

學習筆記 博弈論初步

想到一些很棒的台詞來著。白,我們總是在開始遊戲前就獲勝。空 遊戲人生 世界如此單純,沒有贏不了的比試,努力的話怎麼都有可能,世界單純明了,勝利 失敗 平局,那是愚蠢的小孩子所想過的事 利庫 遊戲人生zero 簡要來說,就是智商爆表的人嘗試在遊戲開始之前就結束這個遊戲。並尋找到其方法 像我這種從五子棋...

博弈論 Nim博弈

1.nim博弈的起源很早,至於歷史我們就不再說了,直接說它的使用場景。1 依舊是兩個人博弈,但是物品時n堆,每一堆有ai個。2 每個人可以挑選一堆取走若干個,但是不能不取。3 最先取完所有物品的人獲勝。4 結論 所以堆的物品的數量異或起來是0,先手必敗。2.乙個nim博弈的例項 nim博弈。乍一看這...

博弈論 博弈混合

給你乙個n m的棋盤,然後給你4種棋子,分別是 1.王 能橫著走,或者豎著走,或者斜著走,每次可以走1格 2.車 可以橫著走或者豎著走,每次可以走無數格 3.馬 走日字形,例如 如果現在在 1,1 可以走到 2,3 即先走一格直線,然後斜著走一格 4.王后 可以橫著走,或者豎著走,或者斜著走,每次可...