Untitled

mail@pastecode.io avatar
unknown
c_cpp
a year ago
1.1 kB
3
Indexable
#include<bits/stdc++.h>      
using namespace std;  
int cal(string s){
        stack<int> st;
        int now = 0, ans = 0;
        for(int i = 0; i < (int)s.size(); i++){
            if(s[i] == '(') st.push(1), now++;
            else if(now){
                now--;
                int x = 0, t = 0;

                while(true){
                    if(!st.size() || st.size() && st.top() == 0)break;
                    if(st.top() == 1) t++;
                    if(t > 1) break;
                    x += st.top();
                    st.pop();
                }
                st.push(x + 1);

            }else{
                if(st.size() && st.top()) st.push(0);              
            }
        }

        while(st.size()){
            if(st.top() > 1)ans = max(ans, st.top());
            st.pop();
        }
        return ans;
}

int main(){
    int n; cin >> n;
    string s;
    char ans[15000];
    for(int i = 0; i < n; i++){
        cin >> s;
        int x = cal(s);
        ans[i] = char((x/2%26)+'a');
    }
    for(int i = 0; i < n; i++) cout << ans[i];
    cout << endl;

}