回分類題庫
z133: D.B613星球的元素
關鍵字: 2012 NPSC 國中組 初賽

測資點 : 1 | Time Limit : 1000 ms | Memory Limit : 128000 KB
Accepted : 3 Times / 3 Users | Submit : 5 Times / 3 Users | Accepted rate : 100%
題目加入時間 : 2021-07-19 20:26

Content: 简体中文

原始題目網址:
https://contest.cc.ntu.edu.tw/npsc2012/teamclient/npsc2012junior.pdf
  小王子搭乘他的火箭在太空中旅行,有一天他到了 B613 星球。他發現這個星球上沒有什麼生物,沒有玫瑰花也沒有狐狸,但卻有很多沒見過的元素!(元素為無法經由化學變化的方法分解的物質) 這麼多的新元素激起了小王子的好奇心,開始在B613星球上進行一連串的研究。
  小王子定義了每一種元素的名稱,元素名稱可能為一個字母或兩個字母,第一個字母為大寫,第二個字母為小寫,如:H,Ca。除了命名元素以外,小王子也測量出所有元素的重量 (每一個元素的重量都是整數,沒有單位,如:H 為 1,Ca 為 32)。
  在找出所有的元素之後,小王子發現不同的元素可以依照一定的比例組成一個新的物質,新物質的表示方式為([元素][元素個數][元素][元素個數] · · ·),若元素個數為 1 則省略不寫,且一種元素只會在表示式中出現一次。例如 2 個 Ca 與 5 個 H 可以產生出一個 Ca2H5。而新物質的重量為組成的元素重量相加,例如 Ca2H5 是
2 × 32 + 5 × 1 = 69。
  小王子繼續進行化學實驗,產生了非常多種的新物質,請問你可以寫一個程式幫忙小王子計算他的新物質重量為多少嗎?
 

Input:

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

Output:

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

Sample Input:help

若題目沒有特別說明,則應該以多測資的方式讀取,若不知如何讀取請參考 a001 的範例程式。
8 3
Ke 86
P 10
Na 23
Cl 35
C 12
O 16
H 1
Mg 24
MgO2H2
NaCl
C6H12O6

Sample Output :

58
58
180

Hint :

Author :

2012 NPSC 國中組 初賽 (管理員:wubaie)

  Solve it!   Status Forum