AT_arc015_3 [ARC015C] 変わった単位

题目描述

许多单位是以 $10$ 及其幂次为基础构建的。然而,现实中也存在一些并非如此的单位。 其中最著名的就是与时间相关的单位。例如,$1$ 分钟等于 $60$ 秒,$1$ 小时等于 $60$ 分钟,$1$ 天等于 $24$ 小时,等等。 现在,你将获得一个单位换算表。请根据这个换算表,编写一个程序,输出“最大单位”用“最小单位”表示时的换算关系。 例如,若给出如下换算表: - $1week = 7day$ - $1day = 24hour$ - $1hour = 60min$ - $1min = 60sec$ 则应输出 $1week = 604800sec$。输入格式如下所示。

输入格式

第一行包含一个整数 $N\ (1 \leq N \leq 200)$,表示换算表的行数。 接下来的 $N$ 行,每行包含三个以半角空格分隔的内容,分别为单位 $large_i$、系数 $m_i$、单位 $small_i$。 对于第 $i$ 行,$1 \times large_i = m_i \times small_i$ 恒成立。 单位名 $large_i$ 和 $small_i$ 均由不超过 $10$ 个小写英文字母组成。

输出格式

设最大单位为 $a$,最小单位为 $b$,系数为 $M$,请输出 $1a = Mb$ 的形式。 输出末尾需换行。

说明/提示

- $M$ 不超过 $10^9$。 - 换算表中所有单位的大小均不相同,不存在同一大小的不同名称单位。 - 换算表中一定可以唯一确定最大和最小的单位。 - 换算表的顺序是无序的,不一定从大到小排列。 - 每一行的输入不一定是相邻单位之间的关系。例如,若存在 hour > min > sec 的顺序,也可能出现 hour 3600 sec 这样的输入。 - 换算表中不会出现矛盾的描述。 示例: ``` 4 week 7 day day 24 hour hour 60 min min 60 sec ``` 输出: ``` 1week=604800sec ``` - $1week = 7 \times 24 \times 60 \times 60sec = 604800sec$ ``` 3 sic 29 cou gal 493 cou gal 17 sic ``` 输出: ``` 1gal=493cou ``` - $1gal = 17 \times 29cou = 493cou$ - 第二行已经给出了 $1gal = 493cou$,无需再计算。 - 换算表的每一行不一定是相邻单位之间的关系。 ``` 5 chou 360 shaku jou 100 sun ken 60 sun li 2160 ken li 12960 shaku ``` 输出: ``` 1li=129600sun ``` - $1li = 2160 \times 60sun = 129600sun$ - 有些输入行可能在计算中并不需要。 由 ChatGPT 4.1 翻译