제출 #1117712

#제출 시각아이디문제언어결과실행 시간메모리
1117712vjudge1Match (CEOI16_match)C++17
10 / 100
1231 ms336 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long int main(){ string s, ans = ")"; cin>>s; int n = s.size(); for (int i = (1<<n) - 1; i >= 0; i--){ deque<int> de; int pr = 0, can = 1; for (int j = 0; j < n; j++){ int val = i & (1<<j); if (val != 0) val = -1; else val = 1; pr += val; if (pr < 0){ can = 0; break; } } for (int j = 0; j < n; j++){ int val = i & (1<<j); if (val != 0) val = -1; else val = 1; pr += val; if (pr < 0){ can = 0; break; } } for (int j = 0; j < n; j++){ if (!can) break; int val = i & (1<<j); if (val == 0){ de.push_back(j); } else{ if (s[de.back()] != s[j]){ can = 0; break; } de.pop_back(); } } if (de.size() != 0) can = 0; if (can){ string cmp; for (int j = 0; j < n; j++){ if (!can) break; int val = i & (1<<j); if (val == 0){ cmp += '('; } else{ cmp += ')'; } } ans = min(ans, cmp); } } if (ans == ")"){ cout<<-1; } else{ cout<<ans; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...