Submission #341617

#TimeUsernameProblemLanguageResultExecution timeMemory
341617phathnvMatch (CEOI16_match)C++11
37 / 100
18 ms508 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

const int N = 2001;
const int AL = 26;

int n, answer[N];
string s;

void readInput(){
    cin >> s;
    n = s.size();
    s = '*' + s;
}

bool check(){
    stack <int> st;
    for(int i = 1; i <= n; i++)
        if (answer[i] != -1){
            if (answer[i] == 1)
                st.push(i);
            else if (!st.empty() && s[st.top()] == s[i])
                st.pop();
            else
                return 0;
        } else {
            if (!st.empty() && s[st.top()] == s[i])
                st.pop();
            else
                st.push(i);
        }
    return st.empty();
}

void solve(){
    for(int i = 1; i <= n; i++)
        answer[i] = -1;
    if (!check()){
        cout << -1;
        return;
    }
    for(int i = 1; i <= n; i++){
        answer[i] = 1;
        answer[i] = check();
    }
    for(int i = 1; i <= n; i++)
        cout << (answer[i] == 1? '(' : ')');
}

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    readInput();
    solve();
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...