C++Leetcode292:Nim游戏
作者:互联网
前言
现在做题上瘾了,拿到题目瞬间做出来,也没有那种调试一直不对的现象,一次性通过,所以时间也能够节省太多。信心大增~ 每天不把博客刷满,就难受!
题目
你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。
你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。
示例:
输入: 4
输出: false
解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛;
因为无论你拿走 1 块、2 块 还是 3 块石头,最后一块石头总是会被你的朋友拿走。
思路
1、只要轮到你,数字是4的倍数,你都没有赢的可能。所以判断给的数是不是4的倍数即可。
实现方法
class Solution {
public:
bool canWinNim(int n) {
if(n%4==0) return false;
return true;
}
};
标签:Leetcode292,false,游戏,Nim,C++,石头,拿掉,return 来源: https://blog.csdn.net/weixin_43434305/article/details/87969830