POJ 2484 - A Funny Game(博弈)
題目連結 https://cn.vjudge.net/problem/POJ-2484
【題意】
n枚硬幣圍成一圈,Alice和Bob輪流取,每次取一枚或連續的兩枚。硬幣取走之後留下空位,相隔空位的硬幣是不連續的。Alice先取,取走最後一枚硬幣的一方獲勝。輸入n,當雙方都採取最優策略時,誰會獲勝?
【思路】
當n<=2時,Alice可以一次拿完獲勝。當n>2時,Alice只能現將硬幣變成一條鏈,Bob可以通過拿走一枚或兩枚把這一條鏈切成兩段長度相同的鏈。接下來,無論Alice怎樣操作,Bob都可以做出和Alice一樣的動作,所以Bob必勝。
#include<cstdio> int main(){ int n; while(scanf("%d",&n)==1 && n){ if(n<=2) puts("Alice"); else puts("Bob"); } return 0; }
相關推薦
POJ 2484 - A Funny Game(博弈)
題目連結 https://cn.vjudge.net/problem/POJ-2484 【題意】 n枚硬幣圍成一圈,Alice和Bob輪流取,每次取一枚或連續的兩枚。硬幣取走之後留下空位,相隔空位的硬幣是不連續的。Alice先取,取走最後一枚硬幣的一方獲勝。輸入n,當雙方都採取最優策略時
poj 2484 A Funny Game (簡單博弈)
題目連結:poj 2484 題意:給出n個順時針排列的n枚硬幣,每次只能取一個或者取相鄰的兩枚,Alice先取,問:誰取走最後一枚硬幣? 題解:這題很gou,看看程式碼你就知道了。 ///當n>=3時,Alice先拿,會把環拆成一條鏈,假如剩下奇數個硬幣數, ///那麼Bob只
POJ 2484 A Funny Game(智商博弈)
src search 證明 ear 奇數 mem output pos 博弈 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6397 Accepted: 397
POJ 2484 A Funny Game 博弈思想:複製對手操作
傳送門 這一題如果先手不能取完的話,後手一定可以通過取 1 個或者 2 個把局勢變成兩個對稱的局面,後面每一步都可以複製對方的操作,最終自己勝利。 #include <bits/stdc++.h> using namespace std; int main() { in
poj 2484 A Funny Game
poj spa 是個 data != while code pri urn 題目:http://poj.org/problem?id=2484 一,題意: n個硬幣圍成一個圈,Alice與Bob輪流從圈中取硬幣。每次能夠取一枚或者連續的兩枚。 硬幣取走後留下的
每天一道博弈論之“A funny game”(poj 2484)
log tar 硬幣 -s 獨立遊戲 div size 狀態 http 題意: n枚硬幣排成一個環,操作為可以選擇相鄰的兩個取走(相鄰指的是最開始相鄰,即不會自動補成環)。問先手勝還是後手勝。 題解: 首先我們考慮1和2,則明顯是先手必勝。
POJ 1740 A New Stone Game(博弈)題解
const 證明 one int ios scan space return i++ 題意:有n個石子堆,每一個都可以輪流做如下操作:選一個石堆,移除至少1個石子,然後可以把這堆石子隨便拿幾次,隨便放到任意的其他石子數不為0的石子堆,也可以不拿。不能操作敗。 思路:我們先來
poj 2505 A multiplication game (類似於遞推思想和博弈)
題目連結:poj 2505 題意:Stan and Ollie 兩人玩遊戲,Stan先手,一開始 P=1,每次玩家可以在數字 [ 2 , 9 ] 範圍內選擇一個數與p相乘,當P>=n時,此時的某玩家獲勝。 題解:我們可以這樣思考,首先我們先設 X,滿足 X*9&g
POJ 2348 Euclid's Game(博弈)題解
tac pan tps 題意 \n sin typedef esp cstring 題意:有a,b兩個數字,兩人輪流操作,每次可以選擇兩個之中較小的數字,然後另一個數字減去選擇數字的任意倍數(不能減到負數),直到其中一個為0,不能操作為敗 思路:這題用博弈NP思想,必敗點和
poj 2425 A Chess Game (SG函式)
題目連結:poj 2425 題意:題目會給出一個有向無環圖,對於某個棋子,可以將它移動到其後繼棋子的任意一個位置,一個位置可以放多個棋子。 給出n個點,從0到n-1,接著n行,每行開始有Xi,代表第i個點後繼連線點有Xi個,分別是......。 緊接著有多組詢問,每組詢問的M代表有哪
POJ 2348 - Euclid's Game(博弈)
題目連結 https://cn.vjudge.net/problem/POJ-2348 【題意】 一個以輾轉相除法為基礎的遊戲 給定兩個整數 a ,
POJ 2286 The Rotation Game(IDA*)
symbols lock several 代碼 time list sym stat strong The Rotation Game Time Limit: 15000MS Memory Limit: 150000K Total Sub
POJ2599 A funny game (圖博弈)
dfs track ems put std rep int layer 最小 題目鏈接:傳送門 題意: 給定一個圖,兩個人從起點出發,輪流開飛機。當離開這個點後這個點 就不能使用了。假設輪到誰了誰不能飛了就輸了。 必敗狀態非常好找,當一個人在位置s的時候
POJ - 2286 - The Rotation Game (IDA*)
cto type lines move org for -s nes hang IDA*算法,即叠代加深的A*算法。實際上就是叠代加深+DFS+估價函數 題目傳送:The Rotation Game AC代碼: #include <map&g
Avito Cool Challenge 2018 A. Definite Game(CF1081A)
題目:Definite Game 題意: 給出一個正整數n,可以多次操作,每次操作可以把n減去一個和n互質的數。 問n的最小可能值。 思路: 大於2的數都直接輸出1就好,因為可以直接減去n-1,n-1和n一定是互質的。 2的話輸出2,1輸出1。
Poj-3922 A simple stone game(博弈,k倍動態減法)
A simple stone game Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 310 Accepted: 161 Description After he has learned h
hdu 1564 Play a game (博弈 奇偶規律)
Play a game Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2322 Acce
pku 1740 A New Stone Game(博弈,感性)
博弈類問題的關鍵,就是尋找平衡狀態。 這題的平衡狀態是什麼?石頭堆的數量是成對出現的,也就是說後取者總可以模仿先取者。 逐一分析: 剩餘1堆石頭:先取者全部拿走,勝利。 剩餘2堆石頭:假設兩堆石頭的數量相等,均為m。對於(m,m),先取者沒辦法一次將兩堆石頭拿走,則後取者總可
acd - 1403 - Graph Game(博弈 + 二分圖最大匹配)
-- target ++i con -1 dsm return 中一 inf 題意:N與P在玩遊戲,N有 n1 個點,P有 n2 個點,N的點與P的點之間有 m 條無向邊。將一個石子放在當中一點。N先移動石子。沿邊移動一次,石子移動前的點及與該點相連的邊被刪除。接著
POJ 2975 Nim(博弈)題解
stream ack () class int 題解 can queue cstring 題意:已知異或和為0為必敗態,異或和不為0為必勝態,問你有幾種方法把開局從當前狀態轉為必敗態。 思路:也就是說,我們要選一堆石頭,然後從這堆石頭拿走一些使剩下的石碓異或和為0。那麽只要