/* Author : Rshs */
#include<bits/stdc++.h>
using namespace std;
#define FI first
#define SE second
#define LL long long
#define LDB long double
#define MP make_pair
#define PII pair<int,int>
#define SZ(a) (int)a.size()
#define DB1(a) cerr<<(#a)<<'='<<a<<endl
#define DB2(a,b) cerr<<(#a)<<'='<<a<<' '<<(#b)<<'='<<b<<endl
#define DB3(a,b,c) cerr<<(#a)<<'='<<a<<' '<<(#b)<<'='<<b<<' '<<(#c)<<'='<<c<<endl
const LDB pai = acos(-1.0L);
const LDB eps = 1e-10;
const LL mod = 1e9+7;
const int MXN = 1e6+5;
inline int Add(int x,int y){return (x+=y)>=mod?x-mod:x;}
inline int Sub(int x,int y){return (x-=y)<0?x+mod:x;}
inline int Mul(int x,int y) {return 1LL*x*y%mod;}
inline int Pow(int x,LL y){int res=1;while(y){if(y&1)res=1LL*res*x%mod;x=1LL*x*x%mod;y>>=1;}return res;}
char s[MXN];
map<string,int>m[2];
int NUM(char x){
return x>='0'&&x<='9';
}
int LOW(char x){
return x>='a'&&x<='z';
}
int UP(char x){
return x>='A'&&x<='Z';
}
void cal(string a,int II){
// DB1(a);
int p=0;
int mu=0;
int n=a.length();
while(p<n&&NUM(a[p])) mu=(mu*10+a[p]-'0'),p++;
if(mu==0)mu=1;
for(int i=p;i<n;i++){
if(UP(a[i])){
int j=i+1;
string yz;yz=yz+a[i];
while(j<n&&LOW(a[j])) yz=yz+a[j],j++;
int kh=0,all=1;
if(j<n&&NUM(a[j])){
int mm=0;
while(j<n&&NUM(a[j])) mm=(mm*10+a[j]-'0'),j++;
all=all*mm;
}
for(;j<n;j++){
if(NUM(a[j])&&kh==1&&a[j-1]==')'){
int mm=0;
while(j<n&&NUM(a[j])) mm=(mm*10+a[j]-'0'),j++;
j--;
all=all*mm;
kh--;
}
if(a[j]=='(') kh--;
if(a[j]==')')kh++;
}
m[II][yz]+=(all*mu);
}
}
}
void LY(int l,int r,int II){
string ss;
for(int i=l;i<=r;i++){
if(s[i]=='+'){
cal(ss,II);ss="";
}
else {
ss=ss+s[i];
}
}
cal(ss,II);
}
int Main(int avg){
scanf("%s",s);
m[0].clear();m[1].clear();
int n=strlen(s);
int eq=-1;
for(int i=0;;i++){
if(s[i]=='='){eq=i;break;}
}
LY(0,eq-1,0);
LY(eq+1,n-1,1);
//for(auto i:m[0]) DB2(i.FI,i.SE);
// for(auto i:m[1]) DB2(i.FI,i.SE);
for(auto i:m[0]){
if(m[1][i.FI]!=i.SE) {puts("N");return 0;}
}
for(auto i:m[1]){
if(m[0][i.FI]!=i.SE) {puts("N");return 0;}
}
puts("Y");
return 0;
}
int main(){
int cas;cin>>cas;for(int i=1;i<=cas;i++)Main(i);
return 0;
}
/*
11
H2+O2=H2O
CH4+2O2=CO2+2H2O
CaCl2+2AgNO3=Ca(NO3)2+2AgCl
4Zn+10HNO3=4Zn(NO3)2+NH4NO3+3H2O
4Au+8NaCN+2H2O+O2+Ca=4Na(Au(CN)2)+4NaOH+Ca
Cu+As=Cs+Au
*/
CSP 201912-3 化学方程式 //字符串模拟
最新推荐文章于 2021-04-02 10:33:10 发布