gyy20081201 @ 2021-01-24 11:22:35
#include<bits/stdc++.h>
using namespace std;
string s,stk;
int tp,ans=1,k=0,vis[105];
int main(){
cin>>s;
int len=s.size();
memset(vis,0,sizeof(vis));
for(int i=0;i<len;i++){
if(s[i+k]=='('||s[i+k]=='['){
stk[++tp]=s[i+k];
}
else{
if(tp>0){
switch(s[i+k]){
case ')' :
if(stk[tp]=='('){tp--;vis[i+k-1]=1;}
else {
s.insert(i-1+k,1,'(');
k++;
}
break;
case ']' :
if(stk[tp]=='['){tp--;vis[i+k-1]=1;}
else {
s.insert(i-1+k,1,'[');
k++;
}
break;
}
}
}
}
for(int i=0;i<len+k;i++){
if(!vis[k]&&(s[i]=='('||s[i]=='[')){
if(s[i]=='('){s.insert(i+1,1,')');k++;}
else if(s[i]=='['){s.insert(i+1,1,']');k++;}
}
}
cout<<s<<endl;
}