C1086 - 摩尔质量
题目描述
有机化合物是指分子中含有碳的大类化合物中的任何一种。 有机化合物的摩尔质量是有机化合物一摩尔的质量。有机化合物的摩尔质量可以通过元素的标准原子量计算得出。

当有机化合物以分子式表示时,CHON博士想要找到它的摩尔质量。分子式,如C3H4O3,通过化学符号识别每种组成元素,并指示该化合物中每个独立分子中每种元素的原子数。如果一个分子包含多个特定元素的原子,则该数量用化学符号后面的下标表示。
在这个问题中,我们假设分子式只由四种元素表示,即“C”(碳)、“H”(氢)、“O”(氧)和“N”(氮),且不使用括号。
下表显示了“C”、“H”、“O”和“N”的标准原子量。
| 原子名称 | Carbon | Hydrogen | Oxygen | Nitrogen |
|---|---|---|---|---|
| 标准原子量 | 12.01 g/mol | 1.008 g/mol | 16.00 g/mol | 14.01 g/mol |
例如,分子式C6H5OH的摩尔质量是94.108 g/mol,其计算方法为6 × (12.01 g/mol) + 6 × (1.008 g/mol) + 1 × (16.00 g/mol)。
给定一个分子式,编写一个程序来计算该分子式的摩尔质量。
输入格式
输入包含T个测试用例。
输入的第一行给出了测试用例的数量T。
每个测试用例在单独的一行中给出,该行包含一个以字符串形式表示的分子式。化学符号由一个大写字母表示,字符串的长度大于0且小于80。当数量数字n为1时,该数字会被省略(1 ≤ n ≤ 99)。
输出格式
对于每个测试用例,精确输出一行。该行应包含给定分子式的摩尔质量。输出的值小数点后保留3位小数
输入输出样例
| 输入样例 | 输出样例 |
|---|---|
| 4 C C6H5OH NH2CH2COOH C12H22O11 |
12.010 94.108 75.070 342.296 |
数据范围与提示
对于100%的数据满足:$1 \le T \le 20$
化学符号由一个大写字母表示,字符串的长度大于0且小于80。当数量数字n为1时,该数字会被省略(1 ≤ n ≤ 99).
测试点数目
共10个测试点,每个测试点10分
时间与内存限制
每个测试点时间:1000ms(1.0s),内存:256MiB
输入输出模式
本OJ支持两种输入输出模式
1. 标准输入输出模式:
直接从标准输入和标准输出读写数据,不需要使用freopen进行文件输入输出重定向
2. 文件输入输出模式(国内信奥赛输入输出模式):
从文件中读写数据,需要使用freopen进行输入输出重定向
本题输入文件名为:C1086.in,输出文件名为:C1086.out