题目详情
甲乙两人面对若干堆石子,其中每一堆石子的数目可以任意确定。
两人轮流按下列规则取走一些石子,游戏的规则如下:
1.每一步应取走至少一枚石子;
2.每一步只能从某一堆中取走部分或全部石子;
3.如果谁无法按规则取子,谁就是输家。
如果甲乙两人都采取最优的策略,甲先拿,请问,是甲必胜还是乙必胜.
输入格式:
多组数据,每组数据两行,第一行是一个整数N, 2<=N<=10000
下一行是N个正整数,代表每堆的石子数,石子数在32位整数内。
输出格式:
每组测试数据输出一行,如果甲存在必胜策略,输出"Win",否则输出"Lost"
答题说明
输入样例
3
3 3 1
输出样例:
Win
解法
多堆拈游戏有个精巧的解法:
(1)将每堆石子数量用二进制表示:b1,b2,b3...bn;
(2)求b1,b2,b3...bn的二进制数位和ret(忽略进位),即异或值;
(3)当且仅当二进制数位和中包含至少一个1时,为胜局;只包含0