1716: 化学方程式配平

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:4 解决:0

题目描述

给出一个未配平的化学方程式,要求根据质量守恒定律对其进行配平,不需要考虑化合价问题。

输入

第1行 一个字符串,由字母、数字、加号、等号以及左右小括号组成,表示一个未配平的化学方程式。元素由一个大写字母紧跟若干个(可以为0个)小写字母构成,括号可以嵌套,数字只出现在元素名或右小括号的后面。整个字符串不超过200个字符,包含的数字不超过1,000,并保证在语法上是合法的。

输出

只有一行,依次输出反应物、生成物前所配的系数。两个数之间用一个空格分隔,行尾不要有多余的空格。若无法配平,则输出"No solution"。

样例输入 复制

Cu+HNO3=Cu(NO3)2+NO+H2O

样例输出 复制

3 8 3 2 4

提示

样例:FeCl3+NaOH=Fe(OH)3+NaCl

  输出:1 3 1 3

 

输入:H2O+SO2+I2=H2SO4+HI

输出:2 1 1 1 2

 

  输入:CO2+H2O=C6H12O6+H2O+O2

  输出:No solution

 

约束条件:

  输入的方程式长度不超过255

  反应物、生成物的总个数不多于100

  元素种类总数不多于100

  方程式中的元素都可以在元素周期表中找到。

  测试数据和答案中的整数不会超过

  括号嵌套的最大深度不超过10

 

附:提供元素周期表

('Ac','Ag','Al','Am','Ar','As','At','Au','B','Ba','Be','Bh','Bi','Bk', 'Br','C','Ca','Cd','Ce','Cf','Cl','Cm','Co','Cr','Cs','Cu','Db','Dy', 'Er','Es','Eu','F','Fe','Fm','Fr','Ga','Gd','Ge','H','He','Hf','Hg', 'Ho','Hs','I','In','Ir','K','Kr','La','Li','Lr','Lu','Md','Mg','Mn', 'Mo','Mt','N','Na','Nb','Nd','Ne','Ni','No','Np','O','Os','P','Pa', 'Pb','Pd','Pm','Po','Pr','Pt','Pu','Ra','Rb','Re','Rf','Rh','Rn','Ru', 'S','Sb','Sc','Se','Sg','Si','Sm','Sn','Sr','Ta','Tb','Tc','Te','Th', 'Ti','Tl','Tm','U','Uub','Uun','Uuu','V','W','Xe','Y','Yb','Zn','Zr')