답안 #676961

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
676961 2023-01-01T20:02:02 Z Mariabf Kemija (COCI22_kemija) C++17
50 / 50
1 ms 304 KB
#include<bits/stdc++.h>
using namespace std;
int main(){
    int t;
    cin>>t;
    string s;
    while(t--){
        cin>>s;
        map<char, int>ma;
        bool m=false;
        for(int i=0; i<s.size(); i++){
            if(s[i]=='-'||s[i]=='>'){
                m=true;
                continue;
            }
            if(s[i]=='+')continue;
            int coef;
            if((int)s[i]<65){
                coef=(int)s[i]-48;
                i++;
            }
            else coef=1;
            while(s[i]!='+'&&s[i]!='-'&&i<s.size()){
                char c=s[i];
                if(m){
                    if(i<s.size()-1&&(int)s[i+1]<65&&s[i+1]!='-'&&s[i+1]!='+'){
                        ma[c]-=(s[i+1]-48)*coef;
                        i++;
                    }
                    else{
                        ma[c]-=coef;
                    }
                }
                else{
                    if(i<s.size()-1&&(int)s[i+1]<65&&s[i+1]!='-'&&s[i+1]!='+'){
                        ma[c]+=(s[i+1]-48)*coef;
                        i++;
                    }
                    else{
                        ma[c]+=coef;
                    }
                }
                i++;
            }
        }bool f=false;
        for(auto x:ma){
            if(x.second!=0){
                f=true;
                break;
            }
        }if(f)cout<<"NE\n";
        else cout<<"DA\n";
    }
}

Compilation message

Main.cpp: In function 'int main()':
Main.cpp:11:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 |         for(int i=0; i<s.size(); i++){
      |                      ~^~~~~~~~~
Main.cpp:23:42: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |             while(s[i]!='+'&&s[i]!='-'&&i<s.size()){
      |                                         ~^~~~~~~~~
Main.cpp:26:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |                     if(i<s.size()-1&&(int)s[i+1]<65&&s[i+1]!='-'&&s[i+1]!='+'){
      |                        ~^~~~~~~~~~~
Main.cpp:35:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |                     if(i<s.size()-1&&(int)s[i+1]<65&&s[i+1]!='-'&&s[i+1]!='+'){
      |                        ~^~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 300 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 296 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 296 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 212 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 1 ms 300 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 296 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
13 Correct 1 ms 212 KB Output is correct
14 Correct 1 ms 296 KB Output is correct
15 Correct 1 ms 212 KB Output is correct
16 Correct 1 ms 212 KB Output is correct
17 Correct 1 ms 212 KB Output is correct
18 Correct 1 ms 212 KB Output is correct
19 Correct 1 ms 212 KB Output is correct
20 Correct 1 ms 212 KB Output is correct
21 Correct 1 ms 212 KB Output is correct
22 Correct 1 ms 212 KB Output is correct
23 Correct 1 ms 212 KB Output is correct
24 Correct 1 ms 304 KB Output is correct
25 Correct 1 ms 300 KB Output is correct
26 Correct 1 ms 212 KB Output is correct
27 Correct 1 ms 212 KB Output is correct