P1288 取數遊戲II

2022-08-12 21:18:23 字數 662 閱讀 1933

又是奇怪的博弈論

這道題有很多的結論啊,從題解乙個乙個抄過來:

那個先手的想取哪邊,整局遊戲就能固定取哪邊。如果先手想要取某一條邊的方向,只需要暴力取光即可,因為後手沒辦法回去了。

當第一條邊已經被取光的時候,每個人只可能一次把邊取光了。否則對手會反手把這條邊取光,你就輸了。

一旦開始了這種暴力取邊的博弈的時候,誰最先碰到天生0邊,誰就輸了。

因為整個遊戲是個環,所以先手有兩種機會能贏,而兩個方向中只要有乙個能贏,那它就會取這個方向,使自己贏。

先手能贏的條件也十分顯然:只要兩個方向中,存在起點離第一條天生0邊距離為奇數時,就贏了。

**都很簡單:

#includeusing std::cin;

using std::cout;

using std::endl;

const int maxn = 25;

int a[maxn], n;

bool flag1, flag2;

int main()

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

} if(flag1 || flag2) puts("yes");

else puts("no");

return 0;

}

P1288 取數遊戲II

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

洛谷 P1288 取數遊戲II

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

洛谷P1288 取數遊戲II

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