有兩個相同的盒子,其中乙個裝了n個球,另乙個裝了乙個球。alice和bob發明了乙個遊戲,規則如下:
alice和bob輪流操作,alice先操作。每次操作時,遊戲者先看看哪個盒子裡的球的數目比較少,然後清空這個盒子(盒子裡的球直接扔掉),然後把另乙個盒子裡的球拿一些到這個盒子中,使得兩個盒子都至少有乙個球。如果乙個遊戲者無法進行操作,他(她)就輸了。下圖是乙個典型的遊戲:
面對兩個各裝乙個球的盒子,bob無法繼續操作,因此alice獲勝。你的任務是找出誰會獲勝。假定兩人都很聰明,總是採取最優策略。alice
bobalice(5,
1)---
-->(2,3)
----
->(1,2)
----
->(1
,1)
輸入最多包含300組測試資料。每組資料僅一行,包含乙個整數n(2<=n<=109)。輸入結束標誌為n=0。
對於每組資料,輸出勝者的名字
234
0
這個的**很簡單明瞭,思路看**就行了alice
bobalice
具體的思想好像是屬於博弈論的部分
#include
#define n 10100
#define inf 0x3f3f3f3f
#define ll long long
#define mem(a,n) memset(a,n,sizeof(a))
#define fread freopen("in.txt","r",stdin)
#define fwrite freopen("out.txt","w",stdout)
using namespace std;
bool game(int n)
}return false;
}int main()
else
}return 0;
}/*****
*****
*****
*****
*****
*****
*****
*****
*****
*****
*****
*****
*****
*****
problem: 1104
user: csuzick
language: c++
result: ac
time:4 ms
memory:1688 kb
*****
*****
*****
*****
*****
*****
*****
*****
*****
*****
*****
*****
*****
*****/
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 先操作。每次操作時,遊戲者先看看哪個盒子裡的球的數目 比較少,然後清空這個盒子 盒子裡的球直接扔掉 然後把另乙個盒子裡的球拿...
NYOJ 題目562盒子遊戲(找規律,博弈)
時間限制 1000 ms 記憶體限制 65535 kb難度 3 描述 有兩個相同的盒子,其中乙個裝了 n 個球,另乙個裝了乙個球。alice 和 bob 發明了乙個遊戲,規則如下 alice 和 bob 輪流操作,alice 先操作。每次操作時,遊戲者先看看哪個盒子裡的球的數目比較少,然後清空這個盒...