Submission #126409

#TimeUsernameProblemLanguageResultExecution timeMemory
126409johutha괄호 문자열 (CEOI16_match)C++14
37 / 100
2069 ms1208 KiB
#include <vector> #include <iostream> #include <string> #include <algorithm> #define int int64_t using namespace std; struct brackseq { string s; int n; bool poss(int fr, vector<int> stack) { stack.push_back(fr); fr++; for (int i = fr; i < n; i++) { if (stack.size() == 0 || s[i] != s[stack.back()]) { stack.push_back(i); } else { stack.pop_back(); } } return stack.size() == 0; } string calc() { vector<int> stack; string seq; for (int i = 0; i < n; i++) { if (poss(i, stack)) { seq.push_back('('); stack.push_back(i); } else { if (stack.size() == 0) return "-1"; seq.push_back(')'); stack.pop_back(); } } if (stack.size() > 0) return "-1"; return seq; } }; signed main() { brackseq bs; cin >> bs.s; bs.n = bs.s.size(); cout << bs.calc(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...