P1241 括号序列 68分求助
查看原帖
P1241 括号序列 68分求助
663195
Z_AuTwT楼主2023/10/1 10:59
#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];
        }
    }
}

#8、9、10、11 WA了

2023/10/1 10:59
加载中...