DOJ logoDOJ
题目
最近添加的题目收藏的题目Workbooks
分类DLC比赛小组团队讨论区
排名
解题数量排行榜连续解题排名DOJ Power 排行榜
评测状态
征题登录注册
DOJ logoDOJ

支持 OI 子任务计分、Elo 等级分和 Discord 认证的社区在线评测系统。

题目
题目列表分类
社区
比赛排名讨论区公告举办外部比赛指南
账号
登录注册评测状态
政策
服务条款DLC 使用规则隐私政策API 文档语言运行环境比赛排名奖励评级与表现
© 2026 DOJ
保留所有权利
题解

别让猴子掉下来

返回题目

题解

设所有猴子的总数为 SSS。每回合移除一层,因此共有 HHH 个回合。设不进行最后一个回合的玩家为 PPP。

每次轮到 PPP 时,剩余楼层数都是偶数,因此至少有两层。于是,PPP 每次都可以移除当前最底层以外的楼层。该层的猴子会移动到其他楼层,PPP 不会获得任何猴子。无论对手如何行动,这个策略都能保证 PPP 最终获得 000 只猴子,而数量不可能更少,因此这是最优策略。

游戏结束时,所有猴子都属于两位玩家中的某一位。因此,进行最后一个回合的玩家将获得全部 SSS 只猴子。若 HHH 为奇数,最后一回合属于 Ishigami,答案为 (S,0)(S,0)(S,0);否则答案为 (0,S)(0,S)(0,S)。S=0S=0 时公式仍然成立。

读入时累加即可,时间复杂度为 O(H)O(H)O(H),额外空间复杂度为 O(1)O(1)O(1)。由于 S≤1015S \le 10^{15}S≤1015,总和与输出应使用有符号 6464 位整数。

Solution written by GPT

S
=
0
64