Nim Game
2015-11-20 08:23 eliteGoblin's Blog 阅读(236) 评论(0) 收藏 举报Nim Game Solution Report
题目大意:
2人玩数数, 从1 数到 n, 每次数1, 2或者3个数, 谁先数到n算赢. 给定 n, 你先数, 问你是否会赢
题目地址: Nim Game
解题思路:
以4为一个周期:
- 若能被4整除, 则第二个人每次只需数完4的倍数,即可保证数到 n,第二个人肯定会赢.
- 若不能被4整除则第一个人只要数完n被4除的余数, 问题等价于第二个人开始数, 数到4的倍数. 则第一个人肯定会赢
代码:
class Solution {
public:
bool canWinNim(int n) {
return !(0 == n % 4);
}
};
浙公网安备 33010602011771号