#P2300. 无尽の配平(cheq)

无尽の配平(cheq)

粗心的CYC:Problem.4|无尽の配平(cheq)

题目背景

“你知道什么是无尽吗?”,CYC问TSL_ClearLightDream。“无尽代表着永无止境的做某一件事。”,TSL_ClearLightDream回道。CYC又问:“能给个实际例子吗?”于是,TSL_ClearLightDream给出了这道题。
——前方大模拟Warning——

题目描述

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

输入格式

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

输出格式

11行到第T+1T+1行 每行一个字符串,为配平后的方程式。各项的系数也都保证不超过10001000,且所有系数的最大公约数必须为11,其中系数11必须省略。保证方程式有解(注:可能出现不在元素周期表的元素或不存在但能配平的方程式)。

输入样例 cheq.in

3
Cu+HNO3=Cu(NO3)2+NO+H2O
KClO3=KCl+O2
CH4+O2=CO2+H2O

输出样例 cheq.out

3Cu+8HNO3=3Cu(NO3)2+2NO+4H2O
2KClO3=2KCl+3O2
CH4+2O2=CO2+2H2O