AlgoMooc
← 返回题库

P3482. 分弹珠游戏

中等通过率 71% · 提交 136 · 通过 97
动态规划数学模拟DP

小慕最近迷上了一个分弹珠的游戏。他每次从箱子里随机取出一定数量的弹珠,第一次将弹珠分成(如果是偶数就平分,如果是奇数则其中一份比另一份多一颗),第二次再将这两份弹珠各自继续分成尽可能相等的两份,直到每一份弹珠的数量不超过2颗。如果第一次取出的弹珠就已经少于3颗,则不需要再分。你能帮小慕算出,在他取出弹珠后,一共需要分多少次,最终会分成多少份吗?

提示:带虚线的词点一下有通俗解释。

输入描述

一个整数N,表示Alice拿到的弹珠数。范围: 0<N<131072

输出描述

输出分拆需要的次数,分拆完成后的份数,使用空格分割。

示例

示例 1

输入

1

输出

0 1

示例 2

输入

11

输出

6 7

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「分弹珠游戏」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。