a111: D. B613 星球的元素
標籤 : 2012初賽
通過比率 : 2人/2人 ( 100% ) [非即時]
評分方式:
Strictly

最近更新 : 2023-08-04 12:21

內容

2012 網際網路程式設計全國大賽 國中組初賽

小王子搭乘他的火箭在太空中旅行,有一天他到了 B613 星球。他發現這個星球上沒有什麼生物,沒有玫瑰花也沒有狐狸,但卻有很多沒見過的元素!(元素為無法經由化學變化的方法分解的物質) 這麼多的新元素激起了小王子的好奇心,開始在

B613 星球上進行一連串的研究。

小王子定義了每一種元素的名稱,元素名稱可能為一個字母或兩個字母,第一個

字母為大寫,第二個字母為小寫,如:H,Ca。除了命名元素以外,小王子也測量出所有元素的重量 (每一個元素的重量都是整數,沒有單位,如:H 為 1,Ca 為 32)。在找出所有的元素之後,小王子發現不同的元素可以依照一定的比例組成一個新的物質,新物質的表示方式為([元素][元素個數][元素][元素個數] ···),若元素個數為 1 則省略不寫,且一種元素只會在表示式中出現一次。例如 2 個 Ca 與 5 個 H 可以產生出一個 Ca2H5。而新物質的重量為組成的元素重量相加,例如 Ca2H5 是

2 × 32+5 × 1 = 69。

小王子繼續進行化學實驗,產生了非常多種的新物質,請問你可以寫一個程式幫忙小王子計算他的新物質重量為多少嗎?

輸入說明

輸入的第一行有兩個正整數 M(1 < M < 100), N(1 < N < 20),M 代表 B613 星球上的元素數量,N 代表小王子產生的新物質數量。

接下來的 M 行,每行包含一個字串 C 與一個整數 B,中間以一個空白分隔,C 為元素的名稱,B 為該元素的重量 (1 ≤ B ≤ 300),所有元素皆不重複。再接下來的 N 行,每行包含一個字串 S,代表小王子產生的新物質,新物質最少包含兩種元素,最多包含五種元素,每種元素的個數小於 100。

輸出說明

對於每一個新物質輸出一列,表示新物質有多重。

範例輸入
8 3
Ke 86
P 10
Na 23
Cl 35
C 12
O 16
H 1
Mg 24
MgO2H2
NaCl
C6H12O6
範例輸出
58
58
180
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (100%): 1.0s , <1K
提示 :
標籤:
2012初賽
出處:
NPSC [管理者:
zero (管理員)
]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」