取石子遊戲(ACM題目)

2022-07-20 09:36:08 字數 925 閱讀 8205

description

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

input

輸入包含若干行,表示若干種石子的初始情況,其中每一行包含兩個非負整數a和b,表示兩堆石子的數目,a和b都不大於1,000,000,000。

output

輸出對應也有若干行,每行包含乙個數字1或0,如果最後你是勝者,則為1,反之,則為0。

sample input

2 1

8 44 7

sample output

0

10

試推出a值較小時所對應的b值,可以得到:

a=1: b=2

a=2: b為空

a=3: b=5

a=4: b=7

a=5: b為空

a=6: b=10

規律很顯然,a與b的差逐步增大(增量為1),a不能是前面計算的b值。因此,可以寫出如下演算法:分析是看了這個人的。

void

swap(

int*

a,int*b)

}int

another(

inta)i=

tem;

langth++;

}returnb;}

void

main()

else

p[index++]

=1;}

for(i=0

;i<

num;i++)

printf(

"%d\n

",p[i]);

}

acm 取石子(一)

時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 一天,tt在寢室閒著無聊,和同寢的人玩起了取石子遊戲,而由於條件有限,他 她們是用旺仔小饅頭當作石子。遊戲的規則是這樣的。設有一堆石子,數量為n 1 n 1000000 兩個人輪番取出其中的若干個,每次最多取m個 1 m 100...

ACM 取石子(七)

時間限制 1000 ms 記憶體限制 65535 kb 難度 1 描述yougth和hrdv玩乙個遊戲,拿出n個石子擺成一圈,yougth和hrdv分別從其中取石子,誰先取完者勝,每次可以從中取乙個或者相鄰兩個,hrdv先取,輸出勝利著的名字。輸入輸入包括多組測試資料。每組測試資料乙個n,資料保證i...

取石子遊戲

如下 include include intmain k b a temp floor k 1.0 sqrt 5 2.0 if temp a printf 0 n else printf 1 n return 0 一 巴什博奕 bash game 只有一堆n個物品,兩個人輪流從這堆物品中取物,規定每...