牛客 倉鼠的石子遊戲 博弈論

2021-09-29 04:40:37 字數 600 閱讀 4853

n

nn個環,第i

ii個環有a

ia_i

ai​個珠子。要求塗色時沒有相鄰的同色。

兩個人輪流塗色,直到乙個人無法塗色為止。

其實先手後手的勝利與他們的操作沒有任何關係。

考慮乙個n

nn個點的環(

n>1)

(n>1)

(n>1)

,我們發現最終狀態下顏色一定是交替出現的,因為如果有兩種相鄰的同色,那麼他們中間至少有乙個空位,那裡面就可以填上另一種顏色,所有最終被塗色的個數一定是偶數(也就是後手必勝),然後只有乙個點就是先手必勝。

多個環的話異或一下就好了。

#include

#include

#include

#include

using

namespace std;

int t,n,ans;

intmain()

if(!ans)

printf

("hamster\n");

else

printf

("rabbit\n");

}}

石子遊戲 博弈論

有n n 堆石子,兩人輪流取石子,每次可以將一堆全部拿走,也可以選擇其中y y 個拿,但是要求y y 與這堆石子的總個數互質。求誰會勝利。明顯的博弈論之s g sg 函式。我們可以發現,質數的s g sg 值就等於上乙個質數的s g sg 值加一,而合數的s g sg值就是它的最小質因子的s g s...

Foreign 石子遊戲 博弈論

輸出t行,表示每組的答案。31 這顯然是一道博弈論的題目。我們發現這是乙個樹結構,仔細看了一下,發現這顯然是乙個階梯nim的模型。我們將所有和同n奇偶的值xor起來就可以得到sg。我們先判斷一下,若sg 0則顯然必敗,否則必勝。然後我們開始計算方案,列舉每乙個節點,目標顯然就是要讓sg 0。由於xo...

取石子 博弈論 Nim遊戲

題目大意 有n堆石子,第i堆有ai個。每次可以選擇乙個x,選擇乙個質數p滿足p x,選擇乙個0 y a x 然後將y個石子從x移動到x p。問先手有多少種第一步移動的測率能夠必勝?答案除以總方案數輸出。n 106,0 ai 109n 10 6,0 ai 10 9題解 從最簡單的情況推導,什麼情況下是...