首页 > 试题广场 >

Nim游戏

[编程题]Nim游戏
  • 热度指数:2966 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
这是一个经典的博弈。
你和你的朋友,两个人玩一个游戏。
1.桌子上有 n 个石头
2.你和你的朋友轮流取石头,你先手。
3.每一回合可以取 1~3 个石头。
4.轮到你的朋友时桌上没有石头则你获胜,否则你的朋友获胜。

你和你的朋友都尽力让自己获胜,如果你有方法必胜,则返回 true ,如果你的朋友有方法必胜,则返回 false

数据范围:
示例1

输入

4

输出

false

说明

第一轮不管你取几个石头,第二轮你的朋友都一定能全部取走,则必输。   
示例2

输入

2

输出

true

说明

第一轮你可以直接取走全部石头。   
class Solution:
    def NimGame(self , n: int) -> bool:
        if n <4:
            return True
        elif (n % 4)==0:
            return False
        else:
            return True
发表于 2024-09-16 10:13:02 回复(0)

问题信息

难度:
1条回答 3281浏览

热门推荐

通过挑战的用户

查看代码
Nim游戏