Submission #150269

#TimeUsernameProblemLanguageResultExecution timeMemory
150269usa1+samsung2 (#200)HicCup (FXCUP4_hiccup)C++17
0 / 100
6 ms512 KiB
#include "hiccup.h"
#include <iostream>

using namespace std;

int HicCup(std::string S) {
	int N = S.size();
        int h = 0;
        int c = 0;
        int x = 0;
        if (N==0) return 0;
        if (S[0] != 'H') return -1;

        {
            int cur = 0;
            char ex = S[0];
            for(int i = 1 ; i < N;i++) {
                const char &s = S[i];
                if((s != 'H') && (s!='C') && (s!='!')){
                    return -1;
                }
                switch(ex) {
                    case 'H':
                        if(s=='H') cur++;
                        else if(s=='!') return -1;
                        break;
                    case 'C':
                        if(s=='H') cur++;
                        else if(s=='C') cur--;
                        break;
                    case '!':
                        if(s=='H') cur++;
                        else if(s=='C') cur--;
                        break;
                    default:
                        return -1;
                        break;
                }
                if(cur<0) return -1;
                ex = s;
            }
            if(ex=='H' || cur != 0) return -1;
        }

        for(int i=0;i<N;i++){
            if(S[i] == 'H') h++;
            if(S[i] == '!') x++;
            if(S[i] == 'C') c++;
        }
        return (x/h);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...