201912 3 化學方程式

2021-10-02 12:49:16 字數 1488 閱讀 9323

試題編號: 201912-3

試題名稱: 化學方程式

時間限制: 1.0s

記憶體限制: 512.0mb

前四個測試點還是很好寫的,不過加入小寫字母要注意cu+as=cs+au這種情況,不能只是判斷字元種類的數目是否相同

#include

#include

#include

#include

using

namespace std;

const

int n=30;

int pos;

int cnt[n]

,cntd[n]

[n];

intnum

(string &s)

return t;

}void

count

(string &s,

int d)

else

}elseif(

islower

(s[pos]))

elseif(

isupper

(s[pos]))

else

if(s[pos]

=='('

)else tt=posr+1;

count

(sub,dd*d)

; pos=tt;}}

}void

sep(string &s,

int d)

sub=s.

substr

(pos1)

;count

(sub,d);}

intmain()

}if(flag)}if

(flag) cout<<

"y"<

else cout<<

"n"<

}else cout<<

"n"<

}return0;

}/*10h2+o2=h2o

2h2+o2=2h2o

h2+2cl=2nacl

h2+2cl=2hcl

ch4+2o2=co2+2h2o

cacl2+2agno3=ca(no3)2+2agcl

3ba(oh)2+2h3po4=6h2o+ba3(po4)2

3ba(oh)2+2h3po4=ba3(po4)2+6h2o

4zn+10hno3=4zn(no3)2+nh4no3+3h2o

cu+as=cs+au

*/

個人覺得圓括號的巢狀價效比是在不高,所以就沒考慮巢狀情況,**只有80分。。。

CCF 201912 3 化學方程式

化學方程式,也稱為化學反應方程式,是用化學式表示化學反應的式子。給出一組化學方程式,請你編寫程式判斷每個方程式是否配平。本題給出的化學方程式由大小寫字母 數字和符號組成,不會出現其他字元。詳見輸入樣例 判斷輸入的化學方程式是否配平,是則輸出y,否則輸出n。第一行乙個正整數n。接下來n行,每行乙個化學...

CSP201912 3 化學方程式

摘要 簡單化學方程式的原子守恆判斷,用類似處理算術表示式的方式處理一遍.中輸出格式要去掉多餘部分 交了兩次0分很疑惑 最後發現格式不對 題目見 思路 剛開始一直在想乙個比較合理的辦法,但是一直沒有想到合適的最後還是直接乙個乙個字元的處理.處理的時候每次處理一種元素以及它的原子個數分別由getnumb...

CCF 大模擬之化學方程式 201912 3

給出化學方程式,判斷是否配平,所有方程式符合規範 例如 h2 o2 h2o 2h2 o2 2h2o 解題思路 include using namespace std struct elem inttodigit string equat,int i return dig void calcuelem...