又是奇怪的博弈論
這道題有很多的結論啊,從題解乙個乙個抄過來:
那個先手的想取哪邊,整局遊戲就能固定取哪邊。如果先手想要取某一條邊的方向,只需要暴力取光即可,因為後手沒辦法回去了。
當第一條邊已經被取光的時候,每個人只可能一次把邊取光了。否則對手會反手把這條邊取光,你就輸了。
一旦開始了這種暴力取邊的博弈的時候,誰最先碰到天生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 將這條邊上的數減至任意乙個非負整...