Kemija
时间限制:1秒 内存限制:256M
题目描述
给定 \(n\) 个化学方程式。
每个参与反应的分子由若干个原子组成,每个原子由一个字母和一个数字表示,分别代表元素名称和分子中该原子的数量。如果多个分子参与反应,则分子前添加一个数字表示化学计量数。本题中只需考虑每一原子的数量,而不必考虑方程式的合理性。例如,\(\texttt{3AC4B}\) 可以直接视为 \(3\) 个 \(\texttt A\)、\(3\) 个 \(\texttt B\) 和 \(12\) 个 \(\texttt C\) 参与反应。当有不同分子位于方程式同一边时,用 \(\texttt +\) 连接。
你的任务是分别检查每个方程式是否已经配平(只需考虑左右原子数量是否都对应相等)。
输入格式
第一行一个正整数 \(n\),表示方程式的个数。
接下来的 \(n\) 行,每行一个方程式。数据保证每个方程式字符串长度不超过 \(1000\),且每个元素都只包含一个大写字母。
输出格式
对于每个方程式,如果已经配平则输出 \(\texttt{DA}\),否则输出 \(\texttt{NE}\)。
输入输出样例 #1
输入 #1
3
A+B->AB
AB+CD->AC+DB
AB+B->AB
输出 #1
DA
DA
NE
输入输出样例 #2
输入 #2
2
2AB+A->3AB
2AB+2AC+2BC->4ABC
输出 #2
NE
DA
输入输出样例 #3
输入 #3
4
2H2O+2CO2->2H2CO3
H2SO4->H2O4
NH3+H2SO4->NH4SO4
CH4+2O2->CO2+2H2O
输出 #3
DA
NE
NE
DA
说明/提示
【样例 3 解释】
| 序号 | 左侧原子 | 右侧原子 | 结果 |
|---|---|---|---|
| \(1\) | \(4 \times \texttt H, 6 \times \texttt O, 2 \times \texttt C\) | \(4 \times \texttt H, 6 \times \texttt O, 2 \times \texttt C\) | \(\green{\texttt{DA}}\) |
| \(2\) | \(2 \times \texttt H, \red{1 \times \texttt S}, 4 \times \texttt O\) | \(2 \times \texttt H, 4 \times \texttt O\) | \(\red{\texttt{NE}}\) |
| \(3\) | \(1 \times \texttt N, \red{5 \times \texttt H}, 1 \times \texttt S, 4 \times \texttt O\) | \(1 \times \texttt N, \red{4 \times \texttt H}, 1 \times \texttt S, 4 \times \texttt O\) | \(\red{\texttt{NE}}\) |
| \(4\) | \(1 \times \texttt C, 4 \times \texttt H, 4 \times \texttt O\) | \(1 \times \texttt C, 4 \times \texttt H, 4 \times \texttt O\) | \(\green{\texttt{DA}}\) |
【数据规模与约定】
本题采用捆绑测试。
- Subtask 1(10 pts):方程式中均不含数字。
- Subtask 2(10 pts):分子式中均不含数字。
- Subtask 3(30 pts):无特殊限制。
对于 \(100\%\) 的数据,\(1 \le n \le 1000\)。
信息
- ID
- 1118
- 难度
- 10
- 分类
- (无)
- 标签
- (无)
- 递交数
- 1
- 已通过
- 0
- 通过率
- 0%
- 被复制
- 2
- 上传者