#P1289. The Cat in the Hat
The Cat in the Hat
描述
(向苏斯博士致敬)
“戴帽子的猫是个讨厌的家伙,”
但它戴的条纹帽子有个相当巧妙的特点。
它手腕轻轻一抖,就把帽子顶揭开。
你知道猫的帽子里有什么吗?
一群小猫,每只都戴着自己的条纹帽子。
每只小猫都像第三行说的那样做,
除了最小的那些猫,它们只会说“为什么是我?”
因为最小的猫得清理所有的污垢,
而且它们厌倦了一次又一次地做这件事!
一只聪明的猫走进一间脏乱的房间,它需要打扫房间。它没有独自干活,而是决定让它的助手猫来做这项工作。它把(更小的)助手猫放在自己的帽子里。每只助手猫的帽子里也有自己的助手猫,依此类推。最终,会有最小尺寸的猫。这些最小的猫的帽子里没有其他猫了。这些倒霉的最小的猫不得不干活打扫。
每只(非最小的)猫的帽子里的猫的数量是一个常数。这些帽子里的猫的高度是它们所在帽子的猫的高度的。
最小的猫高度为;这些就是干活的猫。所有高度都是正整数。
给定最初那只猫的高度和干活的猫(高度为)的数量,求出不干活的猫(高度大于的猫)的数量,同时确定所有猫的高度总和(所有猫一个叠一个堆起来的高度)。
输入
输入是一系列“猫在帽子里”的规格说明。每个规格说明占一行,由两个正整数组成,用空白字符隔开。第一个整数是最初那只猫的高度,第二个整数是干活的猫的数量。
一行中出现两个表示输入结束。
输出
对于每一行输入(“猫在帽子里”的规格说明),打印不干活的猫的数量,接着一个空格,再接着猫堆的高度。除了表示输入结束的“ ”行外,每一行输入都应有对应的一行输出。
输入示例
216 125
5764801 1679616
0 0
输出示例
31 671
335923 30275911
来源
1991年杜克大学互联网编程竞赛,UVA 107