一直63?

P1241 括号序列

SunXiaoping @ 2021-10-05 11:17:12

麻了,连绿题都不会做了

#include<bits/stdc++.h>
using namespace std;
string s,str;
char Stack[1001];//存储需要加的符号 
int n,top=0,l;//top表示栈顶元素编号 
int main()
{
    cin>>s;
    n=s.size();
    for(int i=n-1;i>=0;i--)
    {
        if(s[i]==Stack[top]&&top>0)
        {
            Stack[top]='\0';
            top--;
            l++;
            str+=s[i];
            continue;
        }
        else if(top>0)
        {
            str+=Stack[top];
            top--;
            l++;
            /*if(s[i]=='[')
            {
                str+=']';
                str+='[';
                l+=2;
            }
            if(s[i]=='(')
            {
                str+=')';
                str+='(';
                l+=2;
            }*/
        }
        if(s[i]==')')
        {
            Stack[++top]='(';
            str+=')';
            l++;
            continue;
        }
        else if(s[i]==']')
        {
            Stack[++top]='[';
            str+=']';
            l++;
            continue;
        }
        else if(top==0)
        {
            if(s[i]=='[')
            {
                str+=']';
                str+='[';
                l+=2;
            }
            if(s[i]=='(')
            {
                str+=')';
                str+='(';
                l+=2;
            }
        }
    }
    if(top)
    {
        str+=Stack[top--];
        l++;
    }
    for(int i=l-1;i>=0;i--)
    {
        printf("%c",str[i]);
    }
}

by lwyzhx @ 2021-10-05 11:37:13

题理解错了应该是


|