#P1289. The Cat in the Hat

    ID: 290 传统题 1000ms 256MiB 尝试: 17 已通过: 1 难度: 10 上传者: 标签>数论组合数学Duke Internet Programming Contest 1991UVA 107

The Cat in the Hat

描述

(向苏斯博士致敬)

“戴帽子的猫是个讨厌的家伙,”

但它戴的条纹帽子有个相当巧妙的特点。

它手腕轻轻一抖,就把帽子顶揭开。

你知道猫的帽子里有什么吗?

一群小猫,每只都戴着自己的条纹帽子。

每只小猫都像第三行说的那样做,

除了最小的那些猫,它们只会说“为什么是我?”

因为最小的猫得清理所有的污垢,

而且它们厌倦了一次又一次地做这件事!

一只聪明的猫走进一间脏乱的房间,它需要打扫房间。它没有独自干活,而是决定让它的助手猫来做这项工作。它把(更小的)助手猫放在自己的帽子里。每只助手猫的帽子里也有自己的助手猫,依此类推。最终,会有最小尺寸的猫。这些最小的猫的帽子里没有其他猫了。这些倒霉的最小的猫不得不干活打扫。

每只(非最小的)猫的帽子里的猫的数量是一个常数NN。这些帽子里的猫的高度是它们所在帽子的猫的高度的1N+1\frac{1}{N + 1}

最小的猫高度为11;这些就是干活的猫。所有高度都是正整数。

给定最初那只猫的高度和干活的猫(高度为11)的数量,求出不干活的猫(高度大于11的猫)的数量,同时确定所有猫的高度总和(所有猫一个叠一个堆起来的高度)。

输入

输入是一系列“猫在帽子里”的规格说明。每个规格说明占一行,由两个正整数组成,用空白字符隔开。第一个整数是最初那只猫的高度,第二个整数是干活的猫的数量。

一行中出现两个00表示输入结束。

输出

对于每一行输入(“猫在帽子里”的规格说明),打印不干活的猫的数量,接着一个空格,再接着猫堆的高度。除了表示输入结束的“00 00”行外,每一行输入都应有对应的一行输出。

输入示例

216 125
5764801 1679616
0 0

输出示例

31 671
335923 30275911

来源

1991年杜克大学互联网编程竞赛,UVA 107