這個題意是有乙個n個硬幣圍成圈,然後可以從這個圈的某一位置連續取最多k個.問先手是不是可以必勝.
首先考慮特殊情況,
若 k >= n, 先手必勝.
首先明確乙個策略,就是 跟隨,建立對稱的局面,跟隨詳見 《策略思維》
簡單來說先手無論怎麼取,圈會變成一條鏈,後手現在要做的就是將這一條鏈變成兩條長度相等的鏈,只有這樣後手總會有機會取,這樣後手必勝.
現在就是考慮後手什麼情況下可以建立上述那樣的鏈,考慮先手去取完剩下鏈長度,若剩下的長度是奇數,這時,k = 1,後手可以將鏈等分.反之,不行.
當 k > 1時,後手總可以將剩的鏈進行等分,這樣後手必勝.
#include
#include
using
namespace
std;
int main()
else
else}}
return
0;}
poj1740 博弈論,對稱博弈)
題目 有若干堆石子,每一次需要從一堆石子中拿走一些,然後如果願意的話,再從這堆石子中拿一些分給其它任意堆。不能操作的人負。解析 實際上如果n為偶數,我們就可以把ta們兩兩配對 轉換成只有兩堆石子的情況 按照石子數從小到大排序,兩兩配對成一組,組與組之間互不影響 如果可以完美配對 配對後每一組都有兩堆...
POJ 2484博弈 對稱法
題目鏈結 題意 alice和bob玩遊戲,從一堆圓環形排列的硬幣中拿硬幣,每次可以拿乙個或者兩個,但必須拿連續的 兩個中間有空位也視為不連續 alice先手,給定硬幣個數,問誰贏。題解 當n 1或者n 2時,alice可以一下子取走所有的硬幣,獲勝。當n 3時,alice不管取多少硬幣,她會把原來的...
POJ 2484博弈 對稱法
題目鏈結 題意 alice和bob玩遊戲,從一堆圓環形排列的硬幣中拿硬幣,每次可以拿乙個或者兩個,但必須拿連續的 兩個中間有空位也視為不連續 alice先手,給定硬幣個數,問誰贏。題解 當n 1或者n 2時,alice可以一下子取走所有的硬幣,獲勝。當n 3時,alice不管取多少硬幣,她會把原來的...