一堆石头,轮流拿走1-3个,拿到最后一个石头的赢。每次游戏我先开始,给定石头个数N,判断是否我是否能赢。
class Solution {public: bool canWinNim(int n) { return N%4==0? false:true; }};
思路:当只有4个石头的时候,谁先拿谁输。因此,每当4的倍数时,谁先拿,另外一个人都可以把剩余的石头变成4的倍数,所以只要是4的倍数,先拿的都输。
posted on 2016-05-24 15:51 不小的文 阅读(116) 评论(0) 编辑 收藏 举报