UVA10934 装满水的气球 Dropping water balloons
题目描述
新生周到了,今年你的朋友们决定通过向计算机科学系的新生投掷水球来欢迎他们。他们已装满一大箱相同的水球,准备就绪。但出乎意料的是,这些水球异常坚韧,即使从数层楼的高度扔下也不会破裂!
因此,你的朋友们向你寻求帮助。他们计划从校园的高楼上投掷水球,但希望尽可能减少搬运水球上楼的体力消耗。他们想知道:能使水球破裂的最低楼层是多少?
已知该楼有 $n$ 层,你的朋友们提供了 $k$ 个完全相同的水球供你在实验中测试(并可能损坏)以找到答案。由于你也想偷懒,你需要确定必须进行的最少实验次数,从而在绝对确定性下找到能使水球破裂的最低楼层(最坏情况下,水球即使从顶层扔下也不会破裂)。每次实验包含从某一楼层投掷一个水球。若水球未破裂,你可回收它用于后续实验。
输入格式
输入包含多组测试用例,每行一组。每组测试用例包含两个整数 $k$ 和 $n$,满足 $1 \le k \le 100$ 且 $n$ 是 $64$ 位正整数(是的,这是一栋极高的楼)。最后一组用例为 $k=0$,此时无需处理。
输出格式
对每组输入用例,输出一行结果,表示解决问题所需的最少实验次数。若实验次数超过 $63$,则输出 `More than 63 trials needed.` 而非具体数字。
说明/提示
$1 \le k \le 100$,$n$ 是 $64$ 位正整数(即 $1 \le n < 2^{64}$)。