我是個對電腦科學有興趣的學生,我會貼上我的學習歷程及生活心情,也請大大們多多指教。 :)

2015年7月21日 星期二

[UVa] 10368 - Euclid's Game

題意:
(from luckycat)


解法:
對於每一步都能夠確定輸贏,而每一步最多可能有兩種操作。
假設 較大數 為 a、較小數 為 b
首先判斷 a 是否能被 b 整除,若可則贏。
若否,則考慮兩種可能。
一種可能是必須可行的,就是以 b 減 a 減到無法減為止。
另一種並不是每次都可行,就是當 a/b > 1 的時候,以 b 減 a 減到剩一次減的機會,
輪給對方。
再遞迴檢查對於每種情況是否皆可能贏。

注意:

程式碼:

沒有留言:

張貼留言

任何意見都樂意傾聽