C - 変わった単位
Editorial
多くの単位は とその累乗数を元に作られています。ですが、この世の単位にはそうでないものがあります。
有名なものとしては時間に関する単位です。 分は 秒、 時間は 分、 日は 時間、などです。
いま、あなたに単位の換算表が与えられます。この換算表を元に、「最も大きい単位」を「最も小さい単位」で表したとき、
どのように表せるかを出力するプログラムを書いてください。例えば、
入力は以下の形式で標準入力から与えられる。
最大の単位を 、最小の単位を としたとき、係数 を用いて の形式で出力せよ。
なお、出力の最後には改行をいれること。
Time Limit: 2 sec / Memory Limit: 64 MB
問題文
有名なものとしては時間に関する単位です。 分は 秒、 時間は 分、 日は 時間、などです。
いま、あなたに単位の換算表が与えられます。この換算表を元に、「最も大きい単位」を「最も小さい単位」で表したとき、
どのように表せるかを出力するプログラムを書いてください。例えば、
入力
:
- 行目は、換算表の行数を表す整数 が 行で与えられる。
- 行目から、 行目までの 行で、換算表が与えられる。
- 行目において、単位 、係数、単位 が半角空白区切りで与えられる。
- 行目において、 が成立する。
- 単位名 と はいずれも 文字以下の半角英小文字から構成される。
- 番大きい単位を 番小さい単位で表したとき、係数 は を超えない整数である。
- 換算表に記載される単位は、必ず別の大きさを持つことが保証されている。つまり、同じ大きさで別名の単位は存在しない。
- 換算表に記載される単位から、必ず最大・最小の単位を特定できることが保証されている。
- 換算表に記載される単位は順不同であり、必ずしも大きな単位から順に記載されているとは限らない。
- また、 行目の入力が隣接する単位との関係を示すとは限らない。
- 例えば、hour > min > sec という順序関係があるとき、 hour 3600 sec といった入力もありうる。
- ただし、換算表には矛盾するような記載はない。
出力
なお、出力の最後には改行をいれること。
入力例 1
Copy
- 4
- week 7 day
- day 24 hour
- hour 60 min
- min 60 sec
4 week 7 day day 24 hour hour 60 min min 60 sec
出力例 1
Copy
- 1week=604800sec
1week=604800sec
入力例 2
Copy
- 3
- sic 29 cou
- gal 493 cou
- gal 17 sic
3 sic 29 cou gal 493 cou gal 17 sic
出力例 2
Copy
- 1gal=493cou
1gal=493cou
- 行目に、 が与えられていて、実は演算の必要がないです。
- 行目は、入力セクションの で記述したように、隣接する単位との関係を示したものではありません。
入力例 3
Copy
- 5
- chou 360 shaku
- jou 100 sun
- ken 60 sun
- li 2160 ken
- li 12960 shaku
5 chou 360 shaku jou 100 sun ken 60 sun li 2160 ken li 12960 shaku
出力例 3
Copy
- 1li=129600sun
1li=129600sun
- 行目、 行目、 行目のように、演算に不要な入力が与えられることもあります。