概述
题目描述:
你和你的朋友,两个人一起玩 Nim 游戏:
桌子上有一堆石头。
你们轮流进行自己的回合,你作为先手。
每一回合,轮到的人拿掉 1 - 3 块石头。
拿掉最后一块石头的人就是获胜者。
假设你们每一步都是最优解。请编写一个函数,来判断你是否可以在给定石头数量为 n 的情况下赢得游戏。如果可以赢,返回 true;否则,返回 false 。
代码:
class Solution {
public:
bool canWinNim(int n) {
if(n%4==0)return false;
return true;
}
};
分析:
石头个数从小到大,最小为4个时你一定会输。所以只要你面对的石头不是四的倍数,最后剩下的石头数会小于4(0,1,2,3),你就不会输。
最后
以上就是热情棒球为你收集整理的【leetcode】Nim 游戏c++的全部内容,希望文章能够帮你解决【leetcode】Nim 游戏c++所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复