1003 Hangover

Last-modified: 2009-05-08 (金) 18:09:44

原文


時間制限:1000ミリ秒
メモリ制限:10000KB

問題

カードの山をどこまでテーブルから突き出すことができるでしょうか。カードが1枚の場合、最高でカードの長さの1/2まで突き出すことができます(カードはテーブルに垂直であるとします)。2枚の場合、上のカードは下のカードからカードの1/2まで突き出すことができ、下のカードはテーブルからカードの1/3まで突き出すことができ、合計でカードの5/6(=1/2+1/3)まで突き出すことができます。一般に、カードがn枚の場合、合計でカードの長さの 1/2+1/3+1/4+……+1/(n+1) まで突き出すことができ、一番上のカードはカードの1/2、2枚目のカードは1/3、3枚目のカードは1/4、と言う具合に突き出すことができ、一番下のカードはテーブルから1/(n+1)突き出すことができます。下の図はこれらを表したものです。

hangover.jpg

入力

入力はひとつ以上のテストケースと、それに続く入力の終了を伝える数値0.00を持つ行からなります。それぞれのテストケースはCの正の浮動小数点数(0.01以上5.20以下)を持つ1つの行となっています。これらは3つの桁を持ちます。

出力

それぞれのテストケースについて、そのテストケースの値をカードの長さの割合とし、その分だけカードの山を突き出すことができるような最小のカードの枚数を出力しなさい。出力の書式は次に挙げる例に従いなさい。

入力の例

1.00
3.71
0.04
5.19
0.00

出力の例

3 card(s)
61 card(s)
1 card(s)
273 card(s)

出典

Mid-Central USA 2001