292. Nim Game

来源:互联网 发布:网络作家工作室 编辑:程序博客网 时间:2024/05/16 19:29

You are playing the following Nim Game with your friend: There is a heap of stones on the table, each time one of you take turns to remove 1 to 3 stones. The one who removes the last stone will be the winner. You will take the first turn to remove the stones.

Both of you are very clever and have optimal strategies for the game. Write a function to determine whether you can win the game given the number of stones in the heap.

For example, if there are 4 stones in the heap, then you will never win the game: no matter 1, 2, or 3 stones you remove, the last stone will always be removed by your friend.

这个题的意思:给你一堆石头,确定个数,一次可以选1到3个石头,让你先选,例如有1到3个石头,那么你可以直接赢,有4个石头的话,无论你选多少,对面都可以赢

一脸懵逼~~~

上网看方法,直接sb

解法:
找规律

1 赢
2 赢
3 赢
4 输
5 赢
6 赢
7 赢
8 输
9 赢
10 赢
11 赢
12 输

可以看出来,只要是4的倍数,就会输
那么

class Solution {public:    bool canWinNim(int n) {          return (n%4==0)?0:1;//就这么多    }};
0 0