思路:
1 2 3都是赢的
4 输的
5 6 7 都是赢的
(5 我拿走1个 6拿走2个 7 拿走三个 保证到对手那边是4)
8是输的
(我无论拿走1 2 3 个对手都可以保证他拿完是4个留给我,让我输)
观察规律
只要我们保证把4 ,8等等能留给对手就能赢。不能保证就是输的
规律
1 2 3 4 5 6 7 8 9 10
赢赢赢输赢赢赢输赢赢赢
public class Solution {
public boolean canWinNim(int n) {
if(n%4==0)
{
return false;
}
else
{
return true;
}
}
}
本文解析了Nim游戏中的胜负策略,通过分析特定数量下玩家的赢输情况,总结出了一个简单的判断方法:只要剩余的游戏石子数不是4的倍数,当前玩家就有必胜策略。文章给出了具体实现代码。
407

被折叠的 条评论
为什么被折叠?



