威佐夫博弈 洛谷P2252

2021-09-26 08:41:42 字數 666 閱讀 7802

題目描述

有兩堆石子,數量任意,可以不同。遊戲開始由兩個人輪流取石子。遊戲規定,每次有兩種不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在兩堆中同時取走相同數量的石子。最後把石子全部取完者為勝者。現在給出初始的兩堆石子的數目,你先取,假設雙方都採取最好的策略,問最後你是勝者還是敗者。

輸入:第一行共兩個數a, b,表示石子的初始情況。

輸出:第一行為乙個數字1、0或-1,如果最後你是勝利者則為1;若失敗則為0;若結果無法確定則為-1。

輸入輸出樣例

輸入8 4輸出1

[資料範圍]

50%的資料,a, b <= 1000

100%的資料,a, b <= 1 000 000 000

#include#include#include#include#include#include#includeusing namespace std;

int main()

long long la,lb;

la=n;

lb=m;

la=lb-la;

long long k=(int)(la*(1.0+sqrt(5.0))/2.0);

if(lb==k+la)

cout<<"0"

cout<<"1"<}

P2252 取石子遊戲 威佐夫博弈

有兩堆石子,數量任意,可以不同。遊戲開始由兩個人輪流取石子。遊戲規定,每次有兩種不同的取法,一是可以在任意的一堆中取走任意多的石子 二是可以在兩堆中同時取走相同數量的石子。最後把石子全部取完者為勝者。現在給出初始的兩堆石子的數目,你先取,假設雙方都採取最好的策略,問最後你是勝者還是敗者。輸入共一行。...

luogu P2252 威佐夫博弈 模板 博弈

link 威佐夫博弈 四大博弈 我都沒有好好整理 不過大致可以了解一下。在這個博弈中 存在一些局面 先手遇到必勝。不過由於後手必勝的局面更具規律性這裡研究先手遇到的局面後手必勝的情況。這些局面分別為 0,0 1,2 3,5 4,7 6,10 存在一些特點 第乙個數字是之前出現的數字集合的mex 而第...

博弈 威佐夫博弈

有兩堆各若干個物品,兩個人輪流從某一堆或同時從兩堆中取同樣多的物品,規定每次至少取乙個,多者不限,最後取光著得勝。奇異局勢的性質 1.任何自然數都包含在乙個且僅有乙個奇異局勢中 2.任何操作都可以將奇異局勢變為非奇異局勢 3.採用適當的方法,可以將非奇異局勢變為奇異局勢。所以面對非奇異局勢,先手必勝...