愣是不知道哪里错了(56分)
查看原帖
愣是不知道哪里错了(56分)
1122172
lelaimc楼主2024/9/29 13:25
#include<bits/stdc++.h>
using namespace std;
struct Node{
    string a;
    int flag;
}w[101];
int main()
{
    string s;
    cin>>s;
    for(int i=0;i<=101;i++)
    w[i].flag=0;
    for(int i=0;i<s.size();i++)
    {
        w[i].a=s[i];
        if((s[i]==')')||(s[i]==']'))
        {
            for(int p=i-1;p>=0;p--)
            {
                if((w[p].flag==0)&&((s[p]=='(')||(s[p]=='[')))
                {
                    if((s[i]==')')&&(s[p]=='('))
                    {
                        w[p].a="";
                        w[p].flag=1;
                        w[i].a="()";
                        w[i].flag=1;
                    }
                    else if((s[i]==']')&&(s[p]=='['))
                    {
                        w[p].a="";
                        w[p].flag=1;
                        w[i].a="[]";
                        w[i].flag=1;
                    }
                    break;
                }
            }
        }
    }
    for(int i=0;i<s.size();i++)
    {
        if((w[i].a==")"||w[i].a=="(")&&w[i].flag==0) w[i].a="()";
        if((w[i].a=="["||w[i].a=="]")&&w[i].flag==0) w[i].a="[]";
        cout<<w[i].a;
    }
    return 0;
}
2024/9/29 13:25
加载中...