求调63,1,2,3,12,13
  • 板块P1241 括号序列
  • 楼主_HHJ
  • 当前回复0
  • 已保存回复0
  • 发布时间2022/9/5 09:54
  • 上次更新2023/10/27 12:29:47
查看原帖
求调63,1,2,3,12,13
600112
_HHJ楼主2022/9/5 09:54
#include <stack>
#include <iostream>

using namespace std;
typedef pair<char,int> PII;
stack<PII>kh;
stack<PII>dkh;
bool flag[150];
int main()
{
    string a;
    cin >> a;
    for (int i  = 0 ; i < a.size() ; i ++ )
    {
        if(a[i] == '(')kh.push({a[i],i});
        if(a[i] == '[')dkh.push({a[i],i});
        if(a[i] == ')' && kh.size()){flag[kh.top().second] =flag[i]= 1;kh.pop();}
        if(a[i] == ']' && dkh.size()){flag[dkh.top().second] = flag[i] = 1;dkh.pop();}
    }
    for(int i = 0 ; i < a.size() ; i ++ )
        {
            if(!flag[i])
            {
                if(a[i] == '('||a[i] == ')')
                    cout << "()";
                if(a[i] == '['||a[i] == ']')
                    cout << "[]";
            }
            else 
            cout << a[i];
        }
}a
2022/9/5 09:54
加载中...