傳送門
題目描述:
甲,乙兩個人玩 nim
nimni
m 取石子遊戲。
n im
nimni
m 遊戲的規則是這樣的:地上有 n
nn 堆石子(每堆石子數量小於 10000
10000
1000
0),每人每次可從任意一堆石子裡取出任意多枚石子扔掉,可以取完,不能不取。每次只能從一堆裡取。最後沒石子可取的人就輸了。假如甲是先手,且告訴你這 n
nn 堆石子的數量,他想知道是否存在先手必勝的策略。
輸入格式:
第一行乙個整數 t≤10
t\le10
t≤10
,表示有 t
tt 組資料。
接下來每兩行是一組資料,第一行乙個整數 n
nn,表示有 n
nn 堆石子,n
≤10000
n\le10000
n≤1000
0。第二行有 n
nn 個數,表示每一堆石子的數量
輸出格式:
共 tt
t 行,如果對於這組資料存在先手必勝策略則輸出 「yes」,否則輸出 「no」,不包含引號,每個單詞一行。
樣例資料:輸入
221 12
1 0
輸出no
yes
n im
nimni
m 遊戲的模板題啦。
具體做法就是把所有石子異或和求出來,然後判斷是不是 000。
有時間再來詳細寫一下這篇部落格。
#include
#include
#include
using
namespace std;
intmain()
puts
(ans?
"yes"
:"no");
}return0;
}
洛谷 2197 模板 nim遊戲
題目描述 甲,乙兩個人玩nim取石子遊戲。nim遊戲的規則是這樣的 地上有n堆石子 每堆石子數量小於10000 每人每次可從任意一堆石子裡取出任意多枚石子扔掉,可以取完,不能不取。每次只能從一堆裡取。最後沒石子可取的人就輸了。假如甲是先手,且告訴你這n堆石子的數量,他想知道是否存在先手必勝的策略。輸...
洛谷 P2197 模板 nim遊戲 解題報告
甲,乙兩個人玩nim取石子遊戲。nim遊戲的規則是這樣的 地上有n堆石子 每堆石子數量小於10000 每人每次可從任意一堆石子裡取出任意多枚石子扔掉,可以取完,不能不取。每次只能從一堆裡取。最後沒石子可取的人就輸了。假如甲是先手,且告訴你這n堆石子的數量,他想知道是否存在先手必勝的策略。第一行乙個整...
洛谷P2197 模板 nim遊戲 博弈論
甲,乙兩個人玩nim取石子遊戲。nim遊戲的規則是這樣的 地上有n堆石子,每人每次可從任意一堆石子裡取出任意多枚石子扔掉,可以取完,不能不取。每次只能從一堆裡取。最後沒石子可取的人就輸了。假如甲是先手,且告訴你這n堆石子的數量,他想知道是否存在先手必勝的策略。n im nimni m博弈的模板。定理...