Untitled
unknown
c_cpp
2 months ago
1.1 kB
2
Indexable
Never
#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; }