Submission #476692

#TimeUsernameProblemLanguageResultExecution timeMemory
476692wiktoria_bazan괄호 문자열 (CEOI16_match)C++14
10 / 100
90 ms268 KiB
#include <iostream> #include <stack> #include <algorithm> using namespace std; int n; string s; stack <int> S; void generuj() { bool t = true; string a = ""; string w = "))))))))))))))))))"; for (int bitmask = 1 << (n-1); bitmask < (1 << n); bitmask++) { a.clear(); t = true; for (int i = n - 1; i >= 0; i--) { if (bitmask & (1 << i)) { S.push(n - i - 1); a.insert(a.size(), "("); } else { a.insert(a.size(), ")"); if (S.empty()) { t = false; break; } int v = S.top(); S.pop(); if (s[v] != s[n - i - 1]) { t = false; break; } } } if (S.empty() && t == true) { w = min(w, a); } while (!S.empty()) S.pop(); } if (w == "))))))))))))))))))") { cout << -1; return; } cout << w; } int main() { cin >> s; n = s.size(); if (n % 2 == 1) { cout << -1; return 0; } generuj(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...