This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<iostream>
using namespace std;
#define forn(i, n) for(int i=0; i<(int)n; ++i)
int n, cou[26];
string str;
void process(int l, int r){
int num = 1;
if(str[l]>='1' && str[l]<='9') num = str[l++]-'0';
while(l<r){
int ind = str[l]-'A', mul = 1, nxt = l+1;
if(l+1 < r && str[l+1]>='1' && str[l+1]<='9') mul = str[l+1] - '0', ++nxt;
cou[ind]+=mul*num;
l = nxt;
}
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> n;
forn(qnum, n){
cin >> str;
int l=0, r=0;
while(l<(int)str.size()){
while(r<(int)str.size() && str[r]!='+' && str[r]!='-') ++r;
process(l, r);
if(r<(int)str.size() && str[r]=='-'){
r++;
forn(i, 26) cou[i]=-cou[i];
}
l=r+1;
r+=2;
}
bool flag=true;
forn(i, 26) flag&=!cou[i], cou[i]=0;
cout << (flag? "DA\n" : "NE\n");
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |