1. 程式人生 > >給18小萌新的一個有趣的小問題,取石子問題

給18小萌新的一個有趣的小問題,取石子問題

題目描述:

現在地上橫著一排放了N堆石頭(N是偶數),每一堆石頭的個數不確定(但是總數和為奇數)。

然後兩個人輪流取石頭,規則是一次只能取一堆,而且只能取首位,最後誰拿到的石頭多誰取勝,請問如果你先手的話,你是否有一個必勝的策略?

題解:

答案當然是有的,那麼這個思路是怎麼樣的呢?

很簡單。

你給這堆石頭編號從1-n。

比如有8堆,編號1-8.

然後計算編號為奇數堆石頭的個數和還有編號為偶數堆的石頭和,看誰的和比較大。

然後如果奇數堆的和比較大,那你就先取第一堆,給對手留2,8.對手不管取2還是8,一定會給你留下一個編號為奇數的石頭堆。然後你拿了這個編號為奇數的石頭堆,給對手留的一定是兩個編號為偶數的堆。

偶數大的話同理,取最後一個,然後一直取編號為偶數的那一堆