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
2340
sample output
alicehintbobalice
思路:找規律,博弈的題目 當輸入的數等於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 先操作。每次操作時,遊戲者先看看哪個盒子裡的球的數目 比較少,然後清空這個盒子 盒子裡的球直接扔掉 然後把另乙個盒子裡的球拿...