Page 1 of 1

求同时满足两个条件时 S 的最小值:

Posted: Wed Jan 15, 2025 5:26 am
by tanjimajuha20
任务:

两名玩家 Petya 和 Vanya 玩以下游戏。玩家面前有一堆石头。玩家轮流行动,Petya 率先行动。在一个回合中,玩家可以将一颗或三颗石子添加到堆中,或者将堆中的石子数量增加一倍。例如,有一堆 15 颗石子,一次移动可以得到一堆 16、18 或 30 颗石子。为了走棋,每个玩家拥有无限数量的棋子。

当堆中的石子数量 阿尔巴尼亚 WhatsApp 数据 达到至少 48 时,游戏结束。获胜者是最后一步移动的玩家,即第一个收到包含 48 或更多石子的堆的玩家。初始时刻,堆里有 S 颗石子,1 ≤ S ≤ 47。

如果一个玩家能够通过对手的任何一步棋来取胜,我们就会说他有一个获胜策略。描述一个棋手的策略意味着描述他在可能遇到与敌人不同的打法的任何情况下应该采取什么行动。

据了解,在佩蒂亚第一步不成功之后,瓦尼娅先一步获胜。当这种情况可能发生时,请指定 S 的最小值。


— Vanya 有一个获胜策略,可以让他在 Petya 的任何游戏中通过第一步或第二步获胜;

— 万尼亚没有一个策略可以保证他第一步就获胜。

资料来源:计算机科学国家统一考试 06/20/2023。主波。远东

解决方案。

最小 S 值:19。Petya 第一次移动后,堆中将有 20、22 或 38 颗石子。如果堆里有 38 颗石子,Vanya 会将石子数量加倍,并在第一步中获胜。当一堆中有 20 或 22 个石头时,您可以获得 23 个石头的堆(对于 S = 20,您需要添加 3 个石头,对于 S = 22,您需要添加 1 个石头)。那么,在 Petya 第二步之后,堆里就会有 24 颗石子,或者 26 颗石子,或者 46 颗石子。在所有情况下,瓦尼亚都会将堆中的石子数量加倍,并在第二步中获胜。所以答案是19。

答案:19。