您和您的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 到 3 块石头。 拿掉最后一块石头的人就是胜利者。由您来开局。

你们两个都是聪明人,相信都有最佳的游戏策略。 请编写一个函数,来判断您是否可以在给定的石头数量的情况下赢得游戏。

比方说,如果堆中有4块石头,那么你永远不会赢得比赛:无论你拿走的是 1块,2块 还是 3块 石头,最后一块石头总是会被你的朋友拿走。

题解:找规律 F:先手赢  S:后手赢

 1 F
 2 F
 3 F
 4 S
 5 F
 6 F
 7 F
 8 S
 9 F
10 F
11 F
12 S

规律就出来了~

1 class Solution {
2 public:
3     bool canWinNim(int n) {
4         if(n % 4 == 0) return false;
5         else return true;
6     }
7 };

转载于:https://www.cnblogs.com/jj81/p/9033433.html

292. Nim游戏相关推荐

  1. Java实现 LeetCode 292 Nim游戏

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

  2. 文巾解题 292. Nim 游戏

    1 题目描述 2 解题思路 这其实是一个脑筋急转弯一样的题目.先给出结论吧:如果堆中石头的数量 n 不能被 4 整除,那么你总是可以赢得 Nim 游戏的胜利. 下面是推导部分: 让我们考虑一些小例子. ...

  3. 力扣(LeetCode)292. Nim游戏 巴什博奕

    你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头. 拿掉最后一块石头的人就是获胜者.你作为先手. 你们是聪明人,每一步都是最优解. 编写一个函数,来判断你 ...

  4. LeetCode题目笔记——292. Nim 游戏 (脑筋急转弯C++/Python)

    文章目录 题目描述 题目难度--简单 方法一:脑筋急转弯 代码/C++/Python 总结 题目描述 你和你的朋友,两个人一起玩 Nim 游戏: 桌子上有一堆石头. 你们轮流进行自己的回合, 你作为先 ...

  5. 292. Nim 游戏(简单题)

    题目描述: 你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头. 拿掉最后一块石头的人就是获胜者.你作为先手. 你们是聪明人,每一步都是最优解. 编写一个 ...

  6. leetcode刷题:292. Nim 游戏(Java)

    题目描述 你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头. 拿掉最后一块石头的人就是获胜者.你作为先手. 你们是聪明人,每一步都是最优解. 编写一个函 ...

  7. java nim游戏_LeetCode 292. Nim游戏

    题目描述: 你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头. 拿掉最后一块石头的人就是获胜者.你作为先手. 你们是聪明人,每一步都是最优解. 编写一个函 ...

  8. Leetcode 292. Nim 游戏 解题思路及C++实现

    方法一:规律 解题思路: n从1开始增加,可以发现,当 n 是 4 的倍数的时候,就是false. class Solution { public:bool canWinNim(int n) {ret ...

  9. leetcode 292. Nim Game | 292. Nim 游戏(DP->数学推理)

    题目 https://leetcode-cn.com/problems/nim-game/ 题解 本题实际上是一个需要分析的数学题.如果第一时间没有发现规律的话,可以尝试先用递归法,暴力输出前几个,观 ...

  10. 【腾讯精选练习-简单】292. Nim 游戏

    题目 代码 执行用时:36 ms, 在所有 Python3 提交中击败了45.68% 的用户 内存消耗:14.8 MB, 在所有 Python3 提交中击败了83.52% 的用户 通过测试用例:60 ...

最新文章

  1. 中国超算项目获戈登贝尔奖:首次高分辨率精确模拟唐山大地震
  2. Linux(1)---常用命令
  3. springBoot静态资源处理
  4. 如何判断UIWebView是否loading完全
  5. 使用HTML5、CSS3和jQuery增强网站用户体验
  6. ES6(二)——字符串模板、标签模板字符串、函数的默认参数、剩余参数、数组对象的展开语法、数值的表示、Symbol
  7. vue新增属性是否会响应式更新?
  8. 一个简简单单检测http服务状态的脚本
  9. [GZOI2016] 亚索的量子实验【分块】
  10. 190401每日一句
  11. 用英伟达 DIGITS 进行图像分割
  12. 三菱PLC定位控制2
  13. SpringCloud 配置管理:Nacos
  14. JEECMS-V8.1常用标签及简易操作
  15. 怎样用计算机给ipd传电影,怎样不使用iTunes将电影导入iPad?
  16. 用java语言实现2020年1月1号到2022年7月3号之间的间隔天数
  17. 调试ASP程序时,遇到程序运行错误时怎么查看具体错误位置呢?
  18. thymeleaf 拼接src路径
  19. 0*3038在c语言中的意义,电工学试题及答案3套(电工部分)
  20. WAS的SystemOut.log中报错“ADMS0015E”

热门文章

  1. 8.MongoDB之分片集群
  2. access insert语句怎么写_被缠上了,小王问我怎么在 Spring Boot 中使用 JDBC 连接 MySQL
  3. 苹果手机速度慢_安卓手机用户也想体验一下MagSafe充电器?还是算了吧!
  4. 【渝粤教育】国家开放大学2018年秋季 0053-21T移动通信技术与移动通信设备 参考试题
  5. 【渝粤题库】陕西师范大学210024 学前儿童科学教育 作业 (专升本)
  6. 【渝粤题库】陕西师范大学201921比较法学作业(专升本)
  7. 高精度运算一(两个数的运算)
  8. 23种设计模式(三)组件协作之策略模式
  9. “人生没有一桩幸福不要付代价的。东边占了便宜,西边就得吃亏些。”--《傅雷家书》
  10. react 项目 测试