2136: 单位转换

内存限制:256 MB 时间限制:2 S 标准输入输出
题目类型:传统 评测方式:Special Judge 上传者:
提交:66 通过:28

题目描述

给定 n 组单位换算关系式,q 组询问,每次将某个单位转换成另一个单位。
单位换算关系式1 <unitA> = <value> <unitB>。表示左边的 1 个单位的 <unitA> 等价于 <value> 个单位的 <unitB>。
询问格式:<value> <unitA> to <unitB>。询问 <value> 个单位的 <unitA> 等价于多少个单位的 <unitB>。

输入格式

输入第一行为正整数 n,q。1≤n≤100,1≤q≤10000。
接下来 n 行,每行均为:1 <unitA> = <value> <unitB>。
接下来 q 行,每行均为:<value> <unitA> to <unitB>。
其中<value>为浮点数 v,属于区间 [0.001,1000],小数点后最多 9 位数字。
<unitA>,<unitB>最多包含 20 个小写字母。
询中的单位保证至少在一个单位转换等式中有定义。每个单位最多只能以一种方式转换为其他任何单位。

输出格式

对于每个查询,输出所请求单位的值,如果无法回答查询,则输出“impossible”。
输出结果与标准答案绝对误差或者相对误差不超过 10-6 被视为正确。

输入样例 复制

样例1:
4 3
1 foot = 12 inch
1 yard = 3 foot
1 meter = 100 centimeter
1 centimeter = 10 millimeter
750 millimeter to meter
42 yard to inch
10 meter to foot

样例2:
4 3
1 fortnight = 14 day
1 microcentury = 0.036525 day
1 microcentury = 1000 nanocentury
1 week = 7 day
22.2 fortnight to nanocentury
2.5 nanocentury to week
3.14 day to fortnight

样例3:
10 2
1 micrometer = 1000 nanometer
1 millimeter = 1000 micrometer
1 meter = 1000 millimeter
1 kilometer = 1000 meter
1 megameter = 1000 kilometer
1 lightsecond = 299.792458 meter
1 lightminute = 60 lightsecond
1 lighthour = 60 lightminute
1 lightday = 24 lighthour
1 lightyear = 365.25 lightday
42 nanometer to lightyear
42 lightyear to nanometer

输出样例 复制

样例1:
0.75
1512
impossible

样例2:
8509240.2464065708427
1.3044642857142857142e-05
0.22428571428571428572

样例3:
4.439403502903384947e-18
3.9735067984839359997e+20

数据范围与提示

来源:2022.BAPC