luogu原題
最近剛學了博弈論,拿來練練手qwq
其實和數值的大小並沒有關係
我們用n/p態來表示必勝/必敗狀態
先在草稿紙上**硬幣♦在最左側(其實左右側是等價的)的一條長鏈的n/p態,設鏈長為n
我們用1代替其他所有非0數
n=2: ♦1 n態
n=3: ♦11 p態
我們發現,當n為奇數時,則為p態,反之為n態。
於是我們就找到了硬幣在最左側時的答案。
但是,實際上硬幣並不一定在最左側
此時我們只需要分別判斷硬幣左邊的鏈和硬幣右邊的鏈,只要有一種為n態,則alice贏,反之bob贏(雙方都會選擇最優走法)。
**如下:
#include#includeusing
namespace
std;
int a[43],n,l=1,r=1
; //記得要算上硬幣所在的點
intmain()
P1288 取數遊戲II
又是奇怪的博弈論 這道題有很多的結論啊,從題解乙個乙個抄過來 那個先手的想取哪邊,整局遊戲就能固定取哪邊。如果先手想要取某一條邊的方向,只需要暴力取光即可,因為後手沒辦法回去了。當第一條邊已經被取光的時候,每個人只可能一次把邊取光了。否則對手會反手把這條邊取光,你就輸了。一旦開始了這種暴力取邊的博弈...
洛谷 P1288 取數遊戲II
有乙個取數的遊戲。初始時,給出乙個環,環上的每條邊上都有乙個非負整數。這些整數中至少有乙個0。然後,將一枚硬幣放在環上的乙個節點上。兩個玩家就是以這個放硬幣的節點為起點開始這個遊戲,兩人輪流取數,取數的規則如下 1 選擇硬幣左邊或者右邊的一條邊,並且邊上的數非0 2 將這條邊上的數減至任意乙個非負整...
洛谷P1288 取數遊戲II
有乙個取數的遊戲。初始時,給出乙個環,環上的每條邊上都有乙個非負整數。這些整數中至少有乙個0。然後,將一枚硬幣放在環上的乙個節點上。兩個玩家就是以這個放硬幣的節點為起點開始這個遊戲,兩人輪流取數,取數的規則如下 1 選擇硬幣左邊或者右邊的一條邊,並且邊上的數非0 2 將這條邊上的數減至任意乙個非負整...