P1241 68分求助
  • 板块灌水区
  • 楼主Z_AuTwT
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/10/1 13:05
  • 上次更新2023/11/2 16:48:19
查看原帖
P1241 68分求助
663195
Z_AuTwT楼主2023/10/1 13:05
#include<bits/stdc++.h>
using namespace std;
int stk[110],op;
int main(){
    string s;
    cin>>s;
    for(int i=0;i<s.size();i++){
        if(op==0){
            stk[++op]=i;
        }else{
            if(s[i]=='('){
                stk[++op]=i;
            }if(s[i]=='['){
                stk[++op]=i;
            }if(s[i]==')'){
//            	cout<<s[stk[op]]<<"  ";
                if(s[stk[op]]=='(') op--;
                else stk[++op]=i;
//                cout<<s[stk[op]]<<"  ";
            }if(s[i]==']'){
//            	cout<<s[stk[op]]<<"  ";
                if(s[stk[op]]=='[') op--;
                else stk[++op]=i;
//                cout<<s[stk[op]]<<"  ";
            }
        }
    }int xp=1;
//    for(int i=1;i<=op;i++) cout<<stk[i]<<" ";
    for(int i=0;i<s.size();i++){
        if(stk[xp]==i&&op>=xp){
            if(s[i]=='('||s[i]==')') cout<<"()";
            if(s[i]=='['||s[i]==']') cout<<"[]";
            xp++;
        }else{
            cout<<s[i];
        }
    }
}
2023/10/1 13:05
加载中...