題目詳情
兩個人玩一個數字遊戲,給定兩個正整數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, 所以第一個人必勝。