洛谷 P2197 模板 nim遊戲 解題報告

2022-04-30 03:18:07 字數 712 閱讀 5350

甲,乙兩個人玩nim取石子遊戲。

nim遊戲的規則是這樣的:地上有n堆石子(每堆石子數量小於10000),每人每次可從任意一堆石子裡取出任意多枚石子扔掉,可以取完,不能不取。每次只能從一堆裡取。最後沒石子可取的人就輸了。假如甲是先手,且告訴你這n堆石子的數量,他想知道是否存在先手必勝的策略。

第一行乙個整數t<=10,表示有t組資料

接下來每兩行是一組資料,第一行乙個整數n,表示有n堆石子,n<=10000;

第二行有n個數,表示每一堆石子的數量

共t行,如果對於這組資料存在先手必勝策略則輸出"yes",否則輸出"no",不包含引號,每個單詞一行。

決定食用一些簡單的博弈論先。

設\(x\)為石子數

當且僅當\(x_1 \ xor \ x_2 \ xor \ x_3 \ xor \ ... \ xor \ x_n \not= 0\)時必勝

否則必敗

證明也很簡單

數學歸納法,對於一堆石子,直接拿走就贏了

對於很多堆,找到乙個\(1\)在最高位的數字,單獨拿出來,把這一堆拿成剩下的異或和那麼大就可以了,於是就成了必敗局面

寫起來也很簡單

updata:這篇文章太屑了(夾心王朝復辟!!!)

code:

#include int main()

return 0;

}

洛谷P2197 模板 nim遊戲 博弈論

甲,乙兩個人玩nim取石子遊戲。nim遊戲的規則是這樣的 地上有n堆石子,每人每次可從任意一堆石子裡取出任意多枚石子扔掉,可以取完,不能不取。每次只能從一堆裡取。最後沒石子可取的人就輸了。假如甲是先手,且告訴你這n堆石子的數量,他想知道是否存在先手必勝的策略。n im nimni m博弈的模板。定理...

洛谷P2197 模板 nim遊戲 博弈論

甲,乙兩個人玩nim取石子遊戲。nim遊戲的規則是這樣的 地上有n堆石子,每人每次可從任意一堆石子裡取出任意多枚石子扔掉,可以取完,不能不取。每次只能從一堆裡取。最後沒石子可取的人就輸了。假如甲是先手,且告訴你這n堆石子的數量,他想知道是否存在先手必勝的策略。ni mnim 博弈的模板。定理 nim...

洛谷 2197 模板 nim遊戲

題目描述 甲,乙兩個人玩nim取石子遊戲。nim遊戲的規則是這樣的 地上有n堆石子 每堆石子數量小於10000 每人每次可從任意一堆石子裡取出任意多枚石子扔掉,可以取完,不能不取。每次只能從一堆裡取。最後沒石子可取的人就輸了。假如甲是先手,且告訴你這n堆石子的數量,他想知道是否存在先手必勝的策略。輸...