C1086 - 摩尔质量

题目描述

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

1.png

当有机化合物以分子式表示时,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