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 翻译