292. Nim Game - LeetCode

Question

292. Nim Game

Solution

思路:试着列举一下,就能发现一个n只要不是4的倍数,就能赢。

n 是否能赢
1    true
2    true
3    true
4    false  不论删除几,对方都能一把赢
5    true   删除1,还剩4,对方先手,对方输
6    true   删除2,还剩4,对方先手,对方输
7    true   删除3,还剩4,对方先手,对方输
8    false  不论删除几,都能被对方造成还剩4,已方先手,我们就输 
9    true
10   true

Java实现:

public boolean canWinNim(int n) {
    return n%4 != 0;
}

猜你喜欢

转载自www.cnblogs.com/okokabcd/p/9226326.html
今日推荐