题目

描述

你正在和朋友玩一个游戏:桌子上有一堆石头,每一次你们都会从中拿出1到3个石头。拿走最后一个石头的人赢得游戏。游戏开始时,你是先手。

假设两个人都绝对理性,都会做出最优决策。给定石头的数量,判断你是否会赢得比赛。

举例:有四个石头,那么你永远不会赢得游戏。不管拿几个,最后一个石头一定会被你的朋友拿走。

样例

样例 1:

输入:n = 4 
输出:False
解析:先手取走1,2或者3,对方都会取走最后一个

样例 2:

输入:n = 5 
输出:True
解析:先手拿1个,必胜

解析

1+3=4,所以,只要对方最后拿的时候,剩余的石头数量为4,那么无论如何我们都会赢,所以这个问题就简化为了n % 4是否为0

因为题目中我们先手,所以如果n % 4为0 则我们输,反之我方胜

答案

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

 

posted on 2021-08-23 11:06  prnp  阅读(83)  评论(0编辑  收藏  举报