數字遊戲

題目詳情

兩個人玩一個數字遊戲,給定兩個正整數A,B,兩個人輪流從一個數中減去另外一個數的正數倍,要保證結果非負,

首先得到0的人獲勝。例如:30 8經過一步操作可以變爲22 8 或者14 8 或者 6 8。兩個人都足夠聰明。

輸入格式:

多組數據,每組數據佔一行是兩個空格分隔的正整數(在32位整書範圍內)

輸出格式:

每組數據一行,輸出是第一個人贏,還是第二個人贏。



答題說明

輸入樣例

3 5

4 5

輸出樣例:

1

2


思路: 用(a, b)表示一個狀態,並且a>b, 如果:

(1)(b, a%b)爲負狀態,那麼第一個人可以將(a, b)轉換爲該狀態,所以第一個人必勝。

(2)(b, a%b)爲勝狀態,如果a/b = 1, 那麼第一個人不得不將狀態(a, b)變爲該狀態,所以第一個人必輸。如果

     a/b > 1, 那麼第一個人可以將(a, b)變爲狀態(a1, b) 使得a1/b = 1, 所以第一個人必勝。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章