03动态规划-04coins-in-a-line
来源:互联网 发布:厄米特矩阵的逆也是 编辑:程序博客网 时间:2024/05/21 19:29
有 n
个硬币排成一条线。两个参赛者轮流从右边依次拿走 1 或 2 个硬币,直到没有硬币为止。拿到最后一枚硬币的人获胜。
请判定 第一个玩家 是输还是赢?
样例
n = 1
, 返回 true
.
n = 2
, 返回 true
.
n = 3
, 返回 false
.
n = 4
, 返回 true
.
n = 5
, 返回 true
.
========================================================================================
先手赢的情景:在先手玩家自己取完的两种情况(取一枚和取两枚)的任意一种下,无论后手取一枚或是两枚都是自己赢的情况。
public boolean firstWillWin(int n) { if(n==0)return false; if(n==1)return true; if(n==2)return true; if(n==3)return false; if(n==4)return true; if(n==5)return true; boolean[] b = new boolean[n]; b[0] = true; b[1] = true; b[2] = false; b[3] = true; b[4] = true; for(int i = 4; i<n ; i++){ //先手取1 后手取1 && 先手取1 后手取2 || 先手取2 后手取2 && 先手取2 后手取1 if( b[i-2]&&b[i-3] || b[i-4]&&b[i-3] ) b[i] = true; else b[i] = false; } return b[n-1]; }
0 0
- 03动态规划-04coins-in-a-line
- Coins in a Line
- coins in a line
- Coins in a Line
- lintcode:Coins in a Line
- [LintCode]Coins in a Line
- #394 Coins in a Line
- **[Lintcode]Coins in a Line
- Coins in a line II lintcode
- [LintCode] Coins in a line II
- #395 Coins in a Line II
- **[Lintcode]Coins in a Line II
- LeetCode题-coins in a line
- 【LintCode】Coins in a Line 硬币排成行
- lintcode coins-in-a-line 硬币排成线
- lintcode coins-in-a-line-ii 硬币排成线ii
- dynamica programming coins in line
- UVA562 Dividing coins 动态规划
- MySQL InnoDB 高性能应用的一些知识要点
- 对于系统频繁发送的广播需要动态注册
- 申请邓白氏编码
- L2-006. 树的遍历
- 初识Android中的IPC机制(1)————使用Messenger
- 03动态规划-04coins-in-a-line
- GANs系列
- 数据结构:maze迷宫求解(C++)
- 简单的spring创建
- 机器学习实战——手写数字识别
- Android ViewPager图片滑动
- Android contacts 联系人 通讯录 源码 完全解析
- B 文件上传
- A股-进阶-1分钟get的选股八大技巧