hdu 2177 取 2堆 石子遊戲

2021-06-23 04:28:43 字數 896 閱讀 6907

天資愚笨啊,網上的一大堆沒看懂。。。。。。

總結百科的方法為:

1.a==b

同時減去a 得到0,0

2.a==a_k      b>b_k

b -(b-b_k)

3.a==a_k     b同時拿走a_k-a_(b-a_k)

得到 a_(b-a_k)    a_(b-a_k) + b-a_k

4.a>a_k       b==b_k

從a中拿走 a-a_k

5.a5.1 a==a_ j   (jb-(b-b_ j)

得到 a_ j    b_ j

5.2 a==b_ j   (jb-(b-a_ j)

得到 b_ j   a_ j  

反正我是沒搞懂!!o(╯□╰)o。。。。

我的方法就是 窮舉了:

第乙個分支,從兩堆物品中同時取出相同數量的物品

第二個分支,只從一堆物品中取物品

**如下:

#include#includeint main()

k=b-a;

m=(1+sqrt(5.0))/2.0;

n=(int)k*m;

if(a==n)

printf("0\n");

else

}for(i=b;i>=0;i--)

k=y-x;

n=(int)k*m;

if(x==n)}}

} return 0;

}

hdu 2177 取 2堆 石子遊戲

威佐夫博弈變異,要求輸出能贏的售後第一次能取得情況。3.一定存在規則允許的某種操作可將必勝點移動到必敗點 證明 以某個必勝點 i,j 為例。因為所有自然數都會出現在某個必敗點中,故要麼i等於m k 要麼j等於n k 若i m k j n k 可從j中取走j n k 個石子到達必敗點 若i m k j...

HDU 2177 取 2堆 石子遊戲

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

取 2堆 石子遊戲 hdu2177

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