美文网首页
leetcode--292--Nim 游戏

leetcode--292--Nim 游戏

作者: minningl | 来源:发表于2020-08-16 10:14 被阅读0次

题目:
你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。

你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。

示例:

输入: 4
输出: false 
解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛;
     因为无论你拿走 1 块、2 块 还是 3 块石头,最后一块石头总是会被你的朋友拿走。

链接:https://leetcode-cn.com/problems/nim-game

思路:
1、巴什博奕,n%(m+1)!=0时,先手总是会赢的
2、面对4的整数倍的人永远无法翻身,你拿N根对手就会拿4-N根,保证每回合共减4根,你永远得面对4的倍数,直到4. 相反,如果最开始不是4倍数,你可以拿掉刚好剩下4倍数根,让他永远对面4倍数。

Python代码

class Solution(object):
    def canWinNim(self, n):
        """
        :type n: int
        :rtype: bool
        """
        # 巴什博奕,n%(m+1)!=0时,先手总是会赢的
        
        return n%4!=0

C++代码:

class Solution {
public:
    bool canWinNim(int n) {
        return n%4!=0;
    }
};

相关文章

  • leetcode--292--Nim 游戏

    题目:你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后...

  • 游戏游戏再游戏

    1. 但凡游戏都需要一个背景故事。 2. 游戏吸引人的地方,一是随机奖励,注重不确定性; 二是反馈机制,你做什么都...

  • 游戏游戏

    我也是有在英雄联盟上过白银的男人,在王者荣耀一路杀穿到水晶。打懵过小学生之手,断头台下斩过狗头。 但是每个游戏人还...

  • 游戏,游戏!

    去年暑假带孩子早上起来锻炼,应该是1.0的版本,不得不说那个训练相对来说有一点点枯燥,所幸有两个大孩子带头,还比较...

  • 游戏·游戏

    从没有想过,夜半醒来梦里所思居然全是他们,我的学生。看来白天的潜意识深深地刻在大脑皮层里一直活跃着,思...

  • 第五章 AR、VR与游戏

    游戏分类: 根据游戏平台来划分游戏:手机游戏:手机端游戏PC游戏:电脑游戏网页游戏:也叫页游AR游戏:虚拟现实游戏...

  • H5游戏(60s找出南瓜怪)体验分析报告

    加载页: 开始游戏页: 游戏进行 游戏进行页2: 游戏进行页3: 游戏进行页4: 游戏结束页: 游戏结果页: 游戏...

  • Pokemon Quest宝可梦探险寻宝游戏体验

    目录 简介 出品方 游戏条件 游戏框架 游戏剧情 1+N框架 游戏难度 游戏IP和画风 游戏IP 游戏画风 游戏核...

  • 『工作→游戏→工作→游戏……游戏』

    最下面的几对分别代表了工作和游戏,每一对合成后,再次升级成新工作和新游戏,再合成同样是更高级的工作和游戏……,最后...

  • 游戏的意义和游戏化思维

    游戏改变世界PDF↓ 游戏改变世界 游戏化思维PDF↓ 游戏化思维 游戏的意义游戏化思维视频资料↓ 视频资源 游戏...

网友评论

      本文标题:leetcode--292--Nim 游戏

      本文链接:https://www.haomeiwen.com/subject/qmktjktx.html