NYOJ 1236 挑戰密室

2021-07-12 04:47:20 字數 1672 閱讀 6247

時間限制:

1000 ms  |  記憶體限制:

65535 kb

難度:4 描述

r組織的**dr. kong 為了尋找丟失的超體元素,不幸陷入wto密室。dr. kong必須盡快找到解鎖密碼逃離,否則幾分鐘之後,wto密室即將**。

dr. kong發現密室的牆上寫了許多化學方程式中。化學方程式,也稱為化學反應方程式,是用化學式表示物質化學反應的式子。化學方程式反映的是客觀事實。因此書寫化學方程式要遵守兩個原則:一是必須以客觀事實為基礎;二是要遵守質量守恆定律。

化學方程式不僅表明了反應物、生成物和反應條件。同時,化學計量數代表了各反應物、生成物物質的量關係,通過相對分子質量或相對原子質量還可以表示各物質之間的質量關係,即各物質之間的質量比。對於氣體反應物、生成物,還可以直接通過化學計量數得出體積比。例如:2naoh+h2so4=na2so4+2h2o

經過多次試探、推理,dr. kong發現密碼是4位數字,就隱藏在化學方程式等號後的第乙個分子中,其分子量就可能是密碼(若分子量不足4位,前面加0)。

好在dr. kong還記得牆上各化學方程式用到的化學元素的原子量如下:

ncoclshal

caznna

你能幫dr. kong盡快找到密碼嗎?

輸入

第一行: k,表示有k個化學方程式;

接下來有k行,每行為乙個化學方程式

輸出對於每個化學方程式輸出一行:即密碼。

樣例輸入

32c+o2=2co2naoh+h2so4=na2so4+2h2oca2co3+h2o=ca2(oh)2+co2

樣例輸出

005601420116

提示2≤k≤8 ,化學方程式的長度不超過50, 所有原子,分子的數量不超過9.小括號最多一層.

**第八屆河南省程式設計大賽

上傳者

hnu_acm

字串題,所有原子,分子的數量不超過9!數字不會有多位,坑到這裡了,寫了乙個超級麻煩的程式,貼乙個優秀**吧:

#include#includechar a[50];

int isd(int i,int len)

else e=1;

for(;a[i]!='+' && i'1') s=(a[i]-'0'-1)*s;//s已經加過一次,故減一

if(a[i]=='a')

if(a[i]=='z')

if(a[i]=='n')

else s=14;

} if(a[i]=='c')

else if(a[i+1]=='a')

else s=12;

} if(a[i]=='(')

if(a[i]=='z')

if(a[i]=='n')

else t=14;

} if(a[i]=='c')

else if(a[i+1]=='a')

else t=12;

}s+=t;}}

sum+=s;

} return sum*e;

}int main(){

int i,n,len;

scanf("%d",&n);

while(n--&&scanf("%s",&a)){

int q;

len=strlen(a);

for(i=0;i

nyoj1236 挑戰密室

r組織的 dr.kong 為了尋找丟失的超體元素,不幸陷入wto密室。dr.kong必須盡快找到解鎖密碼逃離,否則幾分鐘之後,wto密室即將 dr.kong發現密室的牆上寫了許多化學方程式中。化學方程式,也稱為化學反應方程式,是用化學式表示物質化學反應的式子。化學方程式反映的是客觀事實。因此書寫化學...

南陽理工acm 1236 挑戰密室

題意 求化學反應方程式的第一種生成物的相對分子質量,難點在於細節處理,還好括號是一層,數字是1 9,降低了難度。解法 map 模擬。includeusing namespace std int main mappq pq n 14 pq c 12 pq o 16 pq cl 35 pq s 32 p...

NYOJ1236 第八屆acm省賽 A挑戰密室

時間限制 1000 ms 記憶體限制 65535 kb 難度 4描述 r組織的 dr.kong 為了尋找丟失的超體元素,不幸陷入wto密室。dr.kong必須盡快找到解鎖密碼逃離,否則幾分鐘之後,wto密室即將 dr.kong發現密室的牆上寫了許多化學方程式中。化學方程式,也稱為化學反應方程式,是用...