48求条

P1241 括号序列

gaoju @ 2024-10-20 10:42:01

#include<bits/stdc++.h>
using namespace std;
stack<char> st;
string ss;
int main()
{
//  freopen(".in","r",stdin);
//  freopen(".out","w",stdout);
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    string s;
    cin >> s;
    int l = s.size();
    for(int i = 0; i < l; i++)
    {
        if(s[i] == '(' || s[i] == '[')
        {
            st.push(s[i]);
        }
        else
        {
            if(s[i] == ')')
            {
                if(st.size() == 0)
                {
                    ss += "()";
                }
                else if(st.top() == '(')
                {
                    st.pop();
                    ss += "()";
                }
                else
                {
                    ss += "()";
                }
            }
            else
            {
                if(st.size() == 0)
                {
                    ss += "[]";
                }
                else if(st.top() == '[')
                {
                    st.pop();
                    ss += "[]";
                }
                else
                {
                    ss += "[]";
                }
            }
        }
    }
    if(st.size() > 0)
    {
        while(st.size() > 0)
        {
            char sk = st.top();
            st.pop();
            if(sk == '(')
            {
                ss += "()";
            }
            else
            {
                ss += "[]";
            }
        }
    }
    cout << ss;
    return 0;
}

by gaoju @ 2024-10-20 11:06:22

已过,此篇结


|