首页 > 试题广场 >

Nim游戏

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

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

数据范围:
示例1

输入

4

输出

false

说明

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

输入

2

输出

true

说明

第一轮你可以直接取走全部石头。   
头像 CroMarmot
发表于 2022-01-05 20:42:19
题意 n个石头,轮流取1-3三个,谁把最后取空谁获胜。问谁能获胜 限制: 初始个数不超过10910^9109 方法 递归(TLE) 因为是轮流取1-3个,所以除了取的时候个数不同,其它是公平的 如果一个人要取时剩余不到3个,那么全部取走获胜。 对于其它情况考虑一个人取的时候剩下n个,那么他取后,他的 展开全文
头像 xqxls
发表于 2022-01-15 20:26:08
题意整理 A和B玩一个游戏。 桌子上有n个石头,A、B轮流从桌子上取石头,每一回合可以取1-3个,谁最先取完石头则获胜,否则另一方获胜。 给定石头数n,判断最终谁会获得胜利。 方法一(动态规划) 1.解题思路 状态定义:dp[i]dp[i]dp[i]表示i个石头时是否能获胜。 状态初始化:i为 展开全文
头像 Samatha
发表于 2025-03-06 23:19:14
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @return 展开全文
头像 prometheus1413
发表于 2022-07-14 16:34:02
class Solution:     def NimGame(self , n: int) -> bool:        展开全文
头像 牛客768685351号
发表于 2022-03-13 10:57:59
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @return bool布尔型 */ 展开全文
头像 殊煜
发表于 2024-10-24 22:23:43
import java.util.*; public class Solution { public boolean NimGame (int n) { if(n < 4) return true; else { //每3个为循环,先手则 展开全文
头像 代码界的小白
发表于 2022-02-19 23:47:10
题目主要信息 这是一个经典的博弈。 你和你的朋友,两个人玩一个游戏。 1.桌子上有 n 个石头 2.你和你的朋友轮流取石头,你先手。 3.每一回合可以取 1~3 个石头。 4.轮到你的朋友时桌上没有石头则你获胜,则你的朋友获胜。 你和你的朋友都尽力让自己获胜,如果你有方法必胜,则返回 true ,如 展开全文
头像 帅气哥哥
发表于 2023-08-28 19:36:19
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @return 展开全文
头像 呆喵挠琴
发表于 2022-03-09 14:18:37
题目的主要信息: 这是一个经典的博弈。 你和你的朋友,两个人玩一个游戏。 桌子上有 n 个石头 你和你的朋友轮流取石头,你先手。 每一回合可以取 1~3 个石头。 轮到你的朋友时桌上没有石头则你获胜,否则你的朋友获胜。 你和你的朋友都尽力让自己获胜,如果你有方法必胜,则返回 true ,如果你的 展开全文
头像 竹沥半夏2002
发表于 2022-03-27 17:38:49
这一题看着“博弈”这个标签觉得很难,但是分析之后发现室友规律的,桌子上有1 2 3个石头的时候,都可以先声夺人,但是4的时候无论怎么办都不行;一旦超过四,比如5个 只要先拿1个 把4个的尴尬局面留给对方,那么对方也会陷入一样的困境;如果拿到六个 只要先拿2个 同理 于是,一开始的想法是: class 展开全文

问题信息

难度:
11条回答 2965浏览

热门推荐

通过挑战的用户

查看代码
Nim游戏