POJ 2505 乘法博弈

2021-06-11 07:03:00 字數 411 閱讀 3978

題意:stan從1開始,可以乘上2~9中任何乙個數,ollie也如此操作,只到某個人本回合的操作超過n為之。。1

找到stan的必敗狀態,[10,18],[163,324]……[9^n*2^(n-1)+1,9^n*2^n]。。

從1開始,無論stan怎麼操作,ollie將格局變為平衡狀態[9^1*2^0+1,9^1*2^1]([10,18])以後無論stan怎麼走,ollie都降格局變為平衡狀態[9^n*2^(n-1)+1,9^n*2^n];然而stan遇到平衡狀態唯一能做的是打破平衡狀態,所以若n在某個平衡狀態裡,ollie必贏;否則stan贏。

#include#include#includeusing namespace std;

int main()

if(n!=1)

cout<<"stan wins."<

poj 2505 乘法博弈論

題目大意 題意 stan從1開始,可以乘上2 9中任何乙個數,ollie也如此操作,只到某個人本回合的操作超過n為之。1基本思路 找到stan的必敗狀態,10,18 163,324 9 n 2 n 1 1,9 n 2 n 分析 0 9 stan 10 18 ollie 19 162 stan 163...

poj 2505 博弈(乘以 2,9 )

題意 給定乙個數k,a和b兩個人來博弈。從1a先開始,每次的動作是乘以 2,9 之間的乙個整數,誰先把這個數乘到大於給定的k就算贏,問誰有必勝策略。思路 博弈題最難描述清楚,一開始找規律,然後總結規律中的必然。能到達必敗態的狀態為必勝態,只能到達必勝態的狀態為必敗態。對於給定的k,n k時為必敗態,...

博弈論(階梯博弈)POJ 1704

對階梯博弈的闡述 博弈在一列階梯上進行,每個階梯上放著自然數個點。兩個人進行階梯博弈,每一步則是將乙個集體上的若干個點 1 移到前面去,最後沒有點可以移動的人輸 證明方式 如這就是乙個階梯博弈的初始狀態 2 1 3 2 4 只能把後面的點往前面放 如何來分析這個問題呢 其實階梯博弈經過轉換可以變為n...