尼姆博弈(Nimm Game)
尼姆博弈(Nimm Game)
尼姆博弈指的是這樣一個博弈遊戲:有任意堆物品,每堆物品的個數是任意的,雙方輪流從中取物品,每一次只能從一堆物品中取部分或全部物品,最少取一件,取到最後一件物品的人獲勝。
結論就是:把每堆物品數全部異或起來,如果得到的值為0,那麼先手必敗,否則先手必勝。
#include<iostream> #include<cstring> #include<cmath> using namespace std; /*尼姆博弈*/ int main() { int n,a,temp; while(cin>>n) { temp=0; for(int i=0;i<n;i++) { cin>>a; temp^=a; } if(temp==0) cout<<"後手勝"<<endl; else cout<<"先手勝"<<endl; } return 0; }
相關推薦
尼姆博弈(Nimm Game)
尼姆博弈(Nimm Game) 尼姆博弈指的是這樣一個博弈遊戲:有任意堆物品,每堆物品的個數是任意的,雙方輪流從中取物品,每一次只能從一堆物品中取部分或全部物品,最少取一件,取到最後一件物品的人獲勝。 結論就是:把每堆物品數全部異或起來,如果得到的值為0,那麼先手必敗,否則先手必勝。
ICG博弈_尼姆博弈(Nim Game)及證明
這是最後一篇ICG博弈,尼姆博弈,對比前面的巴什博弈和威佐夫博弈,尼姆博弈的玩法更加自由化,因此想贏的過程也更加複雜。 如果沒有了解過巴什博弈和威佐夫博弈的,建議先看上兩篇 :巴什博弈及證明 威佐夫博弈及證明 尼姆博弈(Nimm Game)
博弈---尼姆博奕(Nimm Game)(重點)
取火柴的遊戲 題目1:今有若干堆火柴,兩人依次從中拿取,規定每次只能從一堆中取若干根, 可將一堆全取走,但不可不取,最後取完者為勝,求必勝的方法。 題目2:今有若干堆火柴,兩人依次從中拿取,規定每次只能從一堆中取若干根, 可將一堆全取走,但不可不取,最後取完者為負,求必勝的方法。 嘿嘿,這個遊戲我早就
博弈論知識點總結(巴什博奕 威佐夫博弈 尼姆博弈 SG()函式介紹)
總結 真心感謝博主,終於知道為什麼尼姆博弈用異或來解決。 SG函式模板: void init()//根據題目要求進行修改 { a[0]=1; for(int i=1;i<=32;i
“浪潮杯”第九屆山東省ACM大學生程式設計競賽重現賽 G game (尼姆博弈)
題目描述 Alice and Bob are playing a stone game. There are n piles of stones. In each turn, a player can remove some stones from a pile (th
Being a Good Boy in Spring Festival(杭電1850)(尼姆博弈)
cor gree 強烈 方案 con tracking output script 主動 Being a Good Boy in Spring Festival Time Limit: 1000/1000 MS (Java/Others) Memory Limi
【USTC 1213】取石子遊戲(尼姆博弈)
std col 遊戲 script pro 取石子 div ++ pre Description 在組合博弈論中,Nim遊戲是一個非常經典的問題,Nim遊戲可描述如下:有n堆石子,每堆石子數分別為a1, a2, …, an (ai≥0)。現有兩人輪流從這n堆中取石子,每
題解報告:hdu 1850 Being a Good Boy in Spring Festival(尼姆博弈)
轉化 主動 輸入 content hdu () scrip tput inpu 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=1850 Problem Description 一年在外 父母時刻牽掛春節回家 你能做幾天好孩子嗎
Nim遊戲(尼姆博弈)
這裡是尼姆博弈的模板,前面的博弈問題的部落格裡也有,這裡單列出來。 有N堆石子。A B兩個人輪流拿,A先拿。每次只能從一堆中取若干個,可將一堆全取走,但不可不取,拿到最後1顆石子的人獲勝。假設A B都非常聰明,拿石子的過程中不會出現失誤。給出N及每堆石子的數量,問最後誰能贏得比賽。
HDU 1907:John(尼姆博弈變形)
John Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submi
博弈論(巴什博奕,威佐夫博弈,尼姆博弈,斐波那契博弈)
一. 巴什博奕(Bash Game): A和B一塊報數,每人每次報最少1個,最多報4個,看誰先報到30。這應該是最古老的關於巴什博奕的遊戲了吧。 其實如果知道原理,這遊戲一點運氣成分都沒有,只和先手後手有關,比如第一次報數,A報k個數,那麼B報5-k個數,那麼B報數之
博弈(三) 尼姆博弈(Nimm Game)
尼姆博弈(Nimm Game) 有3堆任意多的物品(x, y, z)。兩個人輪流拿,每次只能從一堆中拿,至少拿一個,至多不限。拿到最後者勝利。 結論: 必敗點為 x^y^z = 0。(^為異或) 證明: 如果當前局勢為(0,0,0)。先手肯定輸。其中0
階梯博弈演算法詳解(尼姆博弈進階)
1.什麼是階梯博弈? 階梯的序號如圖所示,地面表示第0號階梯。每次都可以將一個階梯上的石子向其左側移動任意個石子,沒有可以移動的空間時(及所有石子都位於地面時)輸。 2.階梯博弈的演算法 階梯博弈等效
POJ2234 Matches Game 尼姆博弈 博弈論
none dbf hide 一個 lan while splay ont href http://poj.org/problem?id=2234 尼姆博弈(Nimm‘s Game) 指的是這樣一個博弈遊戲:有任意堆物品,每堆物品的個數是任意的,雙方輪流從中取物品,每一次只能
理論: 博弈2: 巴什博奕(Bash Game)
巴什博奕基礎情形 只有一堆n個物品,兩個人輪流從這堆物品中取物,規定每次至少取一個,最多取m個。最後取光者得勝。 如果n = m + 1; 我們假設第一個人拿走了k個, 還剩下 m + 1 - k。 因為1<=(m + 1 - k)<=
hdoj 1850 Being a Good Boy in Spring Festival(尼姆博弈)
-s 爸爸 clu 小遊戲 spring 我們 結束 否則 scrip Problem Description 一年在外 父母時刻牽掛春節回家 你能做幾天好孩子嗎寒假裏嘗試做做下面的事情吧陪媽媽逛一次菜場悄悄給爸爸買個小禮物主動地 強烈地 要求洗一次碗某一天早起 給爸媽
John 尼姆博弈
least air exti there with 經典的 args determine nes John Little John is playing very funny game with his younger brother. There is one big
POJ2975 Nim 博弈論 尼姆博弈
gif pen 分享圖片 can play include -c org one http://poj.org/problem?id=2975 題目始終是ac的最大阻礙。 問只取一堆有多少方案可以使當前局面為先手必敗。 顯然由尼姆博弈的性質可以知道需要取石子使所有堆石子
LeetCode 55. 跳躍遊戲(Jump Game)
更新 你在 ron 索引 etc urn -- bre nbsp 題目描述 給定一個非負整數數組,你最初位於數組的第一個位置。 數組中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最後一個位置。 示例 1: 輸入: [2,3,1,1,4] 輸
48 博弈(控制邊界)
T - A Multiplication Game Stan and Ollie play the game of multiplication by multiplying an integer p by one of the numbers 2 to 9. Stan always start