UVA165 Stamps
题目描述
新马塞特拉尼亚州政府要求各种法律文件都附上邮票,以便政府从中获得收入。就最近的立法而言,每一类文件都限制在可附加的邮票数量上。政府希望知道需要印多少种不同的邮票,以及需要印多少种不同价值的邮票,以便能够在这些条件下做出最广泛的价值选择。邮票的价值总是以1美元为单位。
政府数学家已经对邮票的价值进行了分析,他们导出了n(h,k)的公式,其中h是可附在文件上的邮票的数目,k是可用的邮票的面额的数目,n是在从$1开始的一个序列里连续的最大可得值,例如。当h=3,k=2,面额为$1和$4,从$1到$6所有的值(以及$8、$9和$12)我们可以通过这两种面额的邮票得到。而且,在使用相同价值的h和k值的情况下,使用$1和$3的邮票可以使价值从1美元到7美元(以及9美元)。这是最大的,所以n(3,2)=7
不幸的是,关于n(h,k)到h,k的公式以及邮票的价值已经丢失——它发表在一份政府报告中,但是没有人能记住哪一份,而且那三个发明这个公式的研究者。其中两人死于无聊,第三个找了一份工作作为一名灯塔守护者,因为这给社会带来了不小的刺激。
现在,这个任务交给你了,你怀疑这公式现在在第一个位置所以你决定写一个程序来求得h和k,这会得到一套最佳的邮票和n(h,k)的价值。
输入格式
输入若干行,每一行包括h的值和k的值。当你输入0 0即表示输入结束。出于技术原因,H和K的总和被限制为9。(总统在一次枪击事故中失去了他的小手指,数不清9点)。
输出格式
每个h和k的值输出一行,该行包括按升序排列的k个标记值,该值有3个字符宽,右对齐,然后是空格和箭头(->),输出n(h,k)的价值,右对齐3个字符宽。