Nim遊戲2(臺階型)

hapihapi發表於2024-11-21

有1~n級臺階,每個臺階有a[i]個石子,每次操作可以將k級臺階的一些石子移動到k-1級臺階上。移動到第0級不可再動,無法再操作者輸,給出石子分佈情況,問先手是否必勝

和取石子nim遊戲本質相同,考慮移動石子的過程,透過“觀察”可得,結論是奇數臺階數量異或和為0則先手必輸,否則必贏。
結合上一篇的兩個定理,來證明一下
還是設\(S\)為a[1] ^ a[3]...的結果(奇數臺階異或和),假設\(S\)非0,此時可以看作就這些石子,每次往下一階移動石子就是取走石子,所以一定是可以透過一次操作使得\(S\)變為0的
來考慮對手面對\(S\)為0的局面是否必輸:
對手可能的操作1:選擇某個奇數臺階移動任意的石子,根據定理,這一定會使\(S\)變大,走向可能的必勝局面
對手可能的操作2:選擇某個偶數臺階移動任意的石子,會給某個奇數臺階數量增加,打破二進位制位的位數平衡導致\(S\)變大
所以先手的人會再把\(S\)變成0,如此迴圈,最終輪到先手的人接手僅剩第一個臺階的一些石子,此時\(S\)肯定是非0的,先手的人直接一步結束遊戲即可
同理,如果開始\(S\)等於0,反過來先手的人必輸。
證畢
來點有意思的延伸題目
POJ 1704
Georgia 和 Bob 決定玩一個自己發明的遊戲。他們在紙上畫一排網格,從左到右用 1、2、3 等對網格進行編號,並將 N 個棋子放在不同的網格上,如下圖所示,例如:
Georgia 和 Bob 依次移動棋子。每次玩家都會選擇一個棋子,並將其向左移動,而不會越過任何其他棋子或越過左邊緣。玩家可以自由選擇棋子移動的步數,但限制是棋子必須至少移動一步,並且一個網格最多可以包含一個棋子。無法移動的玩家輸掉遊戲。
自從“Lady first”以來,Georgia 總是先玩。假設 Georgia 和 Bob 都在遊戲中盡了最大的努力,即,如果他們中的一個知道贏得遊戲的方法,他或她將能夠執行它。
考慮到 n 個棋子的初始位置,您能預測誰最終會贏得比賽嗎?

image

解題思路

乍一看好像和剛剛的沒啥關係,接下來給個逆天的轉化
考慮棋子\(k\)向左移動,那麼與左側第一個棋子\(k-1\)之間的空格不久對應的減少了嗎,而沒有空格能讓我們減少的時候,就代表遊戲over,欸,這是不是有點像上文的nim遊戲臺階型了,兩個棋子中間的空格就代表這一級臺階的石子數目,然後,就歐克啦

相關文章