牛牛最近在玩一个石头游戏。在这个游戏中,牛牛和他的朋友轮流从一堆石头中取石头。牛牛是一个非常聪明的小动物,他总是第一个开始取石头。在每一轮中,他和朋友都可以取走1至3块石头,取走最后一块石头的玩家将成为赢家。 给定一个非负整数数组,表示多堆石头的数量。牛牛想知道,对于每一堆石头,如果按照上述规则进行游戏,他是否能保证自己赢得游戏?如果牛牛能赢,返回1;如果牛牛不能赢,返回0。请你帮助牛牛解决这个问题。

区块链毕设网qklbishe.com为您提供问题的解答

牛牛最近在玩一个石头游戏。在这个游戏中,牛牛和他的朋友轮流从一堆石头中取石头。牛牛是一个非常聪明的小动物,他总是第一个开始取石头。在每一轮中,他和朋友都可以取走1至3块石头,取走最后一块石头的玩家将成为赢家。

给定一个非负整数数组,表示多堆石头的数量。牛牛想知道,对于每一堆石头,如果按照上述规则进行游戏,他是否能保证自己赢得游戏?如果牛牛能赢,返回1;如果牛牛不能赢,返回0。请你帮助牛牛解决这个问题。

如果开局是1,2,3,那么小牛必赢。
如果开局是4,小牛不可能拿完,那么对面拿必赢。
如果开局是5,小牛只需拿1个,对面拿1~3个后,必然还剩下给小牛拿,必赢。
如果开局是6,小牛只需变成开局5的情况,即拿2个,必赢。
如果开局是7,小牛只需变成开局5的情况,即拿3个,必赢。
如果开局是8……必输。
总结,开局是4,8……,即4的倍数必然输,其他情况有策略必然赢。
class Solution:     def canWin(self , piles: List[int]) -> List[int]:         return [p%4!=0 for p in piles]

编辑于 2024-04-05 23:57:06

以上就是关于问题牛牛最近在玩一个石头游戏。在这个游戏中,牛牛和他的朋友轮流从一堆石头中取石头。牛牛是一个非常聪明的小动物,他总是第一个开始取石头。在每一轮中,他和朋友都可以取走1至3块石头,取走最后一块石头的玩家将成为赢家。 给定一个非负整数数组,表示多堆石头的数量。牛牛想知道,对于每一堆石头,如果按照上述规则进行游戏,他是否能保证自己赢得游戏?如果牛牛能赢,返回1;如果牛牛不能赢,返回0。请你帮助牛牛解决这个问题。的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

从业7年-专注一级市场


微信:btc9767
TELEGRAM :https://t.me/btcok9

具体资料介绍

web3的一级市场千万收益的逻辑


进群点我



qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 牛牛最近在玩一个石头游戏。在这个游戏中,牛牛和他的朋友轮流从一堆石头中取石头。牛牛是一个非常聪明的小动物,他总是第一个开始取石头。在每一轮中,他和朋友都可以取走1至3块石头,取走最后一块石头的玩家将成为赢家。 给定一个非负整数数组,表示多堆石头的数量。牛牛想知道,对于每一堆石头,如果按照上述规则进行游戏,他是否能保证自己赢得游戏?如果牛牛能赢,返回1;如果牛牛不能赢,返回0。请你帮助牛牛解决这个问题。