【LeetCode】每日一题 2024_2_4 Nim 游戏(找规律,博弈论)

文章目录

LeetCode?启动!!!

题目:Nim 游戏

题目链接:292. Nim 游戏

题目描述

代码与解题思路

go 复制代码
func canWinNim(n int) bool {
    return n % 4 != 0
}

找规律

我们通过模拟可以发现,如果石子是 1-3,先手必胜

如果石子是 4,先手必输

如果石子是 5-7,先手必胜

如果石子是 8,先手必败

如果石子是 9-11,先手必胜

. . . . . .

我们可以发现,假设石子是 5-7,那我们可以通过选石子的数量,让后手石子的数量变成 4,这样先手就胜利了,我们可以推断一下,谁选石子的时候是 4 的倍数,谁就会输

所以 return n % 4 != 0

(PS:但是这种方法纯纯猜的,心里没底)

博弈论

巴什博弈,只有一堆 n 个物品,两个人轮流从这堆物品中取物, 规定每次至少取一个,最多取 m 个。最后取光者得胜。 只要 n 不能整除 m+1,那么必然是先手取胜,否则后手取胜。

(PS:最近怎么老是出博弈论的题目)

相关推荐
金銀銅鐵1 小时前
[Python] 模 n 乘法的逆元计算器
python·数学·游戏
_清歌3 小时前
DSpark 深度解读:DeepSeek-V4 如何用「半自回归」把推理速度提升 85%
算法
统计实现局3 小时前
SVD 的三步走:双对角化、Givens 收敛、排序
算法
躬行见万象3 小时前
《VLA 系列》UniLab 强化训练 | G1 机器人 |复现
算法
统计实现局3 小时前
对称不定分解(Bunch-Kaufman):为什么 Cholesky 不够用
算法
统计实现局3 小时前
dqrsl 拆解:拿着 QR 结果能算出哪 5 种东西
算法
统计实现局4 小时前
为什么 Cholesky 求逆比 Gauss-Jordan 快一倍——行列式溢出防护详
算法
To_OC15 小时前
LC 994 腐烂的橘子:人人都说是 BFS 入门题,我却写了三遍才过
javascript·算法·leetcode
金銀銅鐵18 小时前
[Python] 扩展欧几里得算法
python·数学·算法