盒子遊戲 博弈

2022-09-16 22:21:29 字數 983 閱讀 3671

e - 盒子遊戲

有兩個相同的盒子,其中乙個裝了n個球,另乙個裝了乙個球。

alice和bob發明了乙個遊戲,規則如下:

alice和bob輪流操作,alice先操作每次操作時,遊戲者先看看哪個盒子裡的球的數目比較少,

然後清空這個盒子(盒子裡的球直接扔掉),然後把另乙個盒子裡的球拿一些到這個盒子中,使得兩個盒子都至少有乙個球。

如果乙個遊戲者無法進行操作,他(她)就輸了。

下圖是乙個典型的遊戲:

面對兩個各裝乙個球的盒子,bob無法繼續操作,因此alice獲勝。

你的任務是找出誰會獲勝。假定兩人都很聰明,總是採取最優策略。

input

輸入最多包含300組測試資料。

每組資料僅一行,包含乙個整數n(2<=n<=10^9)。

輸入結束標誌為n=0。

output

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

sample input23

40sample output

alice

bobalice

應該算博弈吧 發現一到比賽就懶得多想 各種粗暴= =

#include#include#include#include#include#include#include#define mem(a,b) memset(a,b,sizeof(a))

#define ll __int64

#define maxn 1000

#define inf 0x7ffffff

#define lson l,m,rt<<1

#define rson m+1,r,rt<<1|1

using namespace std;

int main()

else

if(ok)

printf("alice\n");

else

printf("bob\n");}}

return 0;

}

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 先操作。每次操作時,遊戲者先看看哪個盒子裡的球的數目比較少,然後清空這個盒...