当前位置: 首页 > article >正文

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

文章目录

  • LeetCode?启动!!!
  • 题目:Nim 游戏
    • 题目描述
    • 代码与解题思路

LeetCode?启动!!!

题目:Nim 游戏

题目链接:292. Nim 游戏

题目描述

代码与解题思路

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:最近怎么老是出博弈论的题目)


http://www.kler.cn/a/231291.html

相关文章:

  • CSS 溢出内容处理:从基础到实战
  • android主题设置为..DarkActionBar.Bridge时自定义DatePicker选中日期颜色
  • 受击反馈HitReact、死亡效果Death Dissolve、Floating伤害值Text(末尾附 客户端RPC )
  • MATLAB-Simulink并行仿真示例
  • leetcode——合并K个有序链表(java)
  • 【懒删除堆】力扣2349. 设计数字容器系统
  • 【C语言】位与移位操作符详解
  • Linux第43步_移植ST公司uboot的第4步_uboot测试
  • 分享一下 uniapp 打包安卓apk
  • 【React】如何使antd禁用状态的表单输入组件响应点击事件?
  • Spring GateWay
  • 鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之MenuItem组件
  • 阿里云ECS服务器Linux安装Mysql8
  • Vue中的 v-if 与 v-show 的区别
  • [项目管理] 如何使用git客户端管理gitee的私有仓库
  • 四:C语言-选择结构
  • 【大模型上下文长度扩展】MedGPT:解决遗忘 + 永久记忆 + 无限上下文
  • Rust 本地文档的使用:rustup doc
  • 【C#】.net core 6.0 设置根目录下某个文件夹可访问,访问创建的图片等资源
  • Appium使用初体验之参数配置,简单能够运行起来
  • rust给py写拓展如此简单
  • SQLite database实现加密
  • sklearn模型指标和特征贡献度查看
  • docker之程序镜像的制作
  • 有趣的CSS - 旋转的太极图
  • JVM-运行时数据区程序计数器