1163 博弈遊戲 Nim遊戲

2021-07-02 15:36:03 字數 770 閱讀 6904

題目來自於hihocoder':

時間限制:

10000ms

單點時限:

1000ms

記憶體限制:

256mb 描述

今天我們要認識一對新朋友,alice與bob。

alice與bob總是在進行各種各樣的比試,今天他們在玩乙個取石子的遊戲。

在這個遊戲中,alice和bob放置了n堆不同的石子,編號1..n,第i堆中有a[i]個石子。

每一次行動,alice和bob可以選擇從一堆石子中取出任意數量的石子。至少取1顆,至多取出這一堆剩下的所有石子。

alice和bob輪流行動,取走最後乙個石子的人獲得勝利。

假設每一輪遊戲都是alice先行動,請你判斷在給定的情況下,如果雙方都足夠聰明,誰會獲得勝利?

輸入第1行:1個整數n。表示石子堆數。1≤n≤100

第2行:n個整數,第i個整數表示第i堆石子的個數a[i],1≤a[i]≤10000

輸出第1行:1個字串,若alice能夠獲勝輸出"alice",否則輸出"bob"

樣例輸入

3

3 2 1

樣例輸出

bob

#includeusing namespace std;

int main()

if(res==0)

cout<<"bob\n";

else

cout<<"alice\n";

}

hiho 1163 博弈遊戲 Nim遊戲

這個博弈可以說是很經典了,就是我總忘。nim博弈。我猜都不會在比賽裡考了吧。結論很簡單。就是所有堆取異或 為0乙個人勝,不為0另外的人勝。include include include include include include int main int m while scanf d m eo...

博弈 Nim遊戲

nim遊戲是博弈論中最經典的模型,它又有著十分簡單的規則和無比優美的結論。nim遊戲是組合遊戲 combinatorial games 的一種,準確來說,屬於 impartial combinatorial games 以下簡稱icg 滿足以下條件的遊戲是icg 可能不太嚴謹 1 有兩名選手 2 兩...

NIM遊戲 博弈

1.尼姆博弈 n堆石子,每堆的數量a1,a2,a3.an,一方取完後石子個數為0則該方獲勝,問先手是否必勝 if ans a1 a2 a3 an 0 先手必勝 else 先手必輸 延伸1 在此問基礎上新增乙個集合,集合內的數字是每次操作可取的石子個數,每次從一堆中取,最後無法取者判輸 對每堆石子算得...