站外题求助
  • 板块学术版
  • 楼主czk111
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/3/27 21:59
  • 上次更新2023/10/23 20:16:37
查看原帖
站外题求助
682044
czk111楼主2023/3/27 21:59
【问题描述】 
转瞬间一个暑期就这样过去了,Enos 来到了高中继续求学。Enos 最近遇到了很多同一类型的题目:
计算某个物质的相对分子质量。他已经对此感到十分厌倦,想请你帮他写个程序来算。
【输入格式】 
第一行两个整数 N,M,表示 Enos 已知的元素种数和他要计算的物质种数。
接下来 N 行,每行包含一个字符串和一个正整数,分别表示 Enos 已知的这种元素的符号及其相对原子
质量。每个字符串长度为 1 或 2,如果长度为 1,则只包含一个大写字母,否则包含一个大写字母和一
个小写字母。你不必考虑这种元素是否存在及相对原子质量是否准确。
接下来 M 行,每行一个字符串 S,仅包含字母、数字和括号,表示 Enos 要你帮他计算相对分子质量的
物质的化学式,保证化学式合法且其中的所有元素都已给出。你也不必考虑这些物质是否存在。
【输出格式】 
输出共 M 行,每行一个整数,表示每种物质的相对分子质量。
【输入样例】 
21 5
H 1
He 4
Li 7
Be 9
B 11
C 12
N 14
O 16
F 19
Ne 20
Na 23
Mg 24
Al 27
Si 28
P 31
S 32
Cl 35
Ar 40
K 39
Ca 40
Ac 59
Al2(SO4)3
K2CO3
CH3COONa
(CH2CH2)1000
KAc
【输出样例】 
342
138
82
28000
98
【数据规模】 
对于 30% 的数据: 0<N≤5; 0<∑|S|≤50;
对于 60% 的数据: 0<N≤20; 0<∑|S|≤1,000;
对于 100% 的数据:0<N≤100;0<∑|S|≤1,000,000;给出的所有数字≤1,000;答案≤1018; 
均匀分布着 20% 的数据,所有化学式不包含括号;
均匀分布着 20% 的数据,所有元素符号长度均为 1;
∑|S|表示这 M 个字符串长度加和。

这是我的代码

2023/3/27 21:59
加载中...