P1288 取數遊戲II

2022-04-30 11:33:16 字數 544 閱讀 2391

luogu原題

最近剛學了博弈論,拿來練練手qwq

其實和數值的大小並沒有關係

我們用n/p態來表示必勝/必敗狀態

先在草稿紙上**硬幣♦在最左側(其實左右側是等價的)的一條長鏈的n/p態,設鏈長為n

我們用1代替其他所有非0數

n=2: ♦1  n態

n=3: ♦11 p態

我們發現,當n為奇數時,則為p態,反之為n態。

於是我們就找到了硬幣在最左側時的答案。

但是,實際上硬幣並不一定在最左側

此時我們只需要分別判斷硬幣左邊的鏈和硬幣右邊的鏈,只要有一種為n態,則alice贏,反之bob贏(雙方都會選擇最優走法)。

**如下:

#include#include

using

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 將這條邊上的數減至任意乙個非負整...