1. 题目

传送门= ̄ω ̄=

2. 题解

首先解析方程式,利用化学式最多是两个字符,根据大写字母判断一个新的元素。

读到左括号,就暴力找到右括号。显然不会有两重括号嵌套(除非出题人sb)。然后获取括号的系数。

对于字符串,你可以去map,当然其实因为最长为2,直接字符串转整数哈希就行了。

最后跑高斯消元。

无解的情况是最后一项的系数消完还是不等于0。

需要枚举最后一项的值。我是从1枚举到一千。

注意消元可能会得到负数解,要舍去。

至于氧化还原反应需要支持归中不交叉率,直接打表好了。

代码: