题目描述
给定 n 个化学方程式。
每个参与反应的分子由若干个原子组成,每个原子由一个字母和一个数字表示,分别代表元素名称和分子中该原子的数量。如果多个分子参与反应,则分子前添加一个数字表示化学计量数。本题中只需考虑每一原子的数量,而不必考虑方程式的合理性。例如,3AC4B 可以直接视为 3 个 A、3 个 B 和 12 个 C 参与反应。当有不同分子位于方程式同一边时,用 + 连接。
你的任务是分别检查每个方程式是否已经配平(只需考虑左右原子数量是否都对应相等)。
输入格式
第一行一个正整数 n,表示方程式的个数。
接下来的 n 行,每行一个方程式。数据保证每个方程式字符串长度不超过 1000,且每个元素都只包含一个大写字母。
输出格式
对于每个方程式,如果已经配平则输出 DA,否则输出 NE。
提示
【样例 3 解释】
序号 |
左侧原子 |
右侧原子 |
结果 |
1 |
4×H,6×O,2×C |
DA |
2 |
2×H,1×S,4×O |
2×H,4×O |
NE |
3 |
1×N,5×H,1×S,4×O |
1×N,4×H,1×S,4×O |
4 |
1×C,4×H,4×O |
DA |
【数据规模与约定】
本题采用捆绑测试。
- Subtask 1(10 pts):方程式中均不含数字。
- Subtask 2(10 pts):分子式中均不含数字。
- Subtask 3(30 pts):无特殊限制。
对于 100% 的数据,1≤n≤1000。
【来源】COCI 2021-2022#5 Task 1 Kemija。