/ WHOJ / 题库 /

化学题

化学题

题目描述

化学是 Smart 一生挥之不去的阴影,这导致他只要看到任何与化学有关的问题都会发疯。无奈之下,这道题只能交给你来做了。

现在给你一些化学元素和它们的相对原子质量。你需要求出由这些元素组成的分子的相对分子质量。

格式

输入格式

第一行两个正整数 \(n,m\),表示 \(n\) 种化学元素,\(m\) 种分子;
接下来 \(n\) 行,每行一个字符串和一个浮点数,表示原子的名称和相对原子质量。加下了 \(m\) 行,每行一个字符串,表示分子。

输出格式

\(m\) 行,每行一个整数,表示所求分子的相对分子质量 四舍五入取整后 的结果。

样例1

样例输入1

5 3
H 1.00794
C 12.0107
O 15.9994
Cu 63.546
S 32.065 CH4
CH3(CH2)4CH3 CuSO4.5H2O

样例输出1

16
86
250

样例解释

对于第二个询问,分子中包含 \(6\) 个 \(C\),\(14\) 个 \(H\);
对于第三个询问,分子中包含 \(1\) 个 \(Cu\),\(1\) 个 \(S\),\(10\) 个 \(H\),\(9\) 个 \(O\)

限制

对于 \(50\%\) 的数据,每组询问中均不含有“\(.\)”或左右括号。

对于 \(70\%\) 的数据,每组询问中均不含有“\(.\)”。
对于 \(100\%\) 的数据,\(n<=118,m<=100\),每组询问字符串长度不超过 \(10000\),且仅包含数字、大小写英文字符、“\(.\)”和左右括号。