luogu P1288 取數遊戲II

2021-08-18 08:51:07 字數 778 閱讀 5389

題目傳送門:

題意:

有乙個環,其中有n個點,有至少一條邊的權值為0,硬幣的起始位置在第一條邊與最後一條邊之間的節點上。兩個人在輪流操作:

(1)選擇硬幣左邊或者右邊的一條邊,並且邊上的數非0;

(2)將這條邊上的數減至任意乙個非負整數(至少要有所減小);

(3)將硬幣移至邊的另一端。

如果輪到乙個玩家走,這時硬幣左右兩邊的邊上的數值都是0,那麼這個玩家就輸了。

求誰能獲勝。

思路:

容易發現,這道題其實就是一條鏈(因為在乙個環上,至少有一條邊的權值為0)。我們就想:在起點的位置,可以往兩邊走,如果找到一條權值為0的邊,就只能往回走了。那麼:從貪心的角度去想,如果有奇數條邊,那麼先手一定可以贏(先去掉第一條邊,後手必須去掉第二條邊,否則我就可以取完第二條邊,他就輸了(此時他在第二個點,第一條邊和第二條邊都被封死);如此下去,最後一條邊一定是先手取的,後手就輸了),所以有兩種走法:向左或向右,如果存在向左或向右有奇數條邊(指的是遇到最近的0),先手必勝;反之後手必勝。

**:

#includeint n;

int a[21];

int main()

break;

} for(int i=n;i>=1;i--)

if(!a[i])

break;

} printf("no");

}

P1288 取數遊戲II

luogu原題 最近剛學了博弈論,拿來練練手qwq 其實和數值的大小並沒有關係 我們用n p態來表示必勝 必敗狀態 先在草稿紙上 硬幣 在最左側 其實左右側是等價的 的一條長鏈的n p態,設鏈長為n 我們用1代替其他所有非0數 n 2 1 n態 n 3 11 p態 我們發現,當n為奇數時,則為p態,...

P1288 取數遊戲II

又是奇怪的博弈論 這道題有很多的結論啊,從題解乙個乙個抄過來 那個先手的想取哪邊,整局遊戲就能固定取哪邊。如果先手想要取某一條邊的方向,只需要暴力取光即可,因為後手沒辦法回去了。當第一條邊已經被取光的時候,每個人只可能一次把邊取光了。否則對手會反手把這條邊取光,你就輸了。一旦開始了這種暴力取邊的博弈...

洛谷 P1288 取數遊戲II

有乙個取數的遊戲。初始時,給出乙個環,環上的每條邊上都有乙個非負整數。這些整數中至少有乙個0。然後,將一枚硬幣放在環上的乙個節點上。兩個玩家就是以這個放硬幣的節點為起點開始這個遊戲,兩人輪流取數,取數的規則如下 1 選擇硬幣左邊或者右邊的一條邊,並且邊上的數非0 2 將這條邊上的數減至任意乙個非負整...