zcmu 1646 盒子遊戲

2021-08-07 06:34:28 字數 821 閱讀 7135

e - 盒子遊戲

有兩個相同的盒子,其中乙個裝了n個球,另乙個裝了乙個球。alice和bob發明了乙個遊戲,規則如下:

alice和bob輪流操作,alice先操作。每次操作時,遊戲者先看看哪個盒子裡的球的數目比較少,然後清空這個盒子(盒子裡的球直接扔掉),然後把另乙個盒子裡的球拿一些到這個盒子中,使得兩個盒子都至少有乙個球。如果乙個遊戲者無法進行操作,他(她)就輸了。下圖是乙個典型的遊戲:

alice       bob       alice

(5,1)----->(2,3)----->(1,2)----->(1,1)

面對兩個各裝乙個球的盒子,bob無法繼續操作,因此alice獲勝。你的任務是找出誰會獲勝。假定兩人都很聰明,總是採取最優策略。

input

輸入最多包含300組測試資料。每組資料僅一行,包含乙個整數n(2<=n<=109)。輸入結束標誌為n=0。

output

對於每組資料,輸出勝者的名字

sample input

234

0

sample output

alice

bobalice

hint

思路:找規律,博弈的題目 當輸入的數等於2^i-1的時候,是bob贏。

**:#include#includeusing namespace std;

int main()

else

if(pow(2,i)-1>n)

break;

} if(k==1)

cout<<"bob"<

NYOJ 562 盒子遊戲

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 有兩個相同的盒子,其中乙個裝了 n 個球,另乙個裝了乙個球。alice 和 bob 發明了乙個遊戲,規則如下 alice 和 bob 輪流操作,alice 先操作。每次操作時,遊戲者先看看哪個盒子裡的球的數目比較少,然後清空這個...

1104 盒子遊戲(簡單博弈)

submit page summary time limit 1 sec memory limit 128 mb submitted 756 solved 359 有兩個相同的盒子,其中乙個裝了n個球,另乙個裝了乙個球。alice和bob發明了乙個遊戲,規則如下 alice和bob輪流操作,alic...

SDUT 3004 盒子遊戲(博弈)

題意 2人博弈問題。有兩個相同的盒子,其中乙個裝了 n 個球,另乙個裝了乙個球。alice 和 bob 發明了乙個遊戲,規則如下 alice 和 bob 輪流操作,alice 先操作。每次操作時,遊戲者先看看哪個盒子裡的球的數目 比較少,然後清空這個盒子 盒子裡的球直接扔掉 然後把另乙個盒子裡的球拿...