求助大佬!0分代码该怎么改???

P1241 括号序列

g1306374356 @ 2021-07-21 07:39:22

求助大佬!0分代码该怎么改???

我感觉我的思路没问题,可就是不对

六个WA,七个RE...
#include<bits/stdc++.h>
using namespace std;
char a[200],c[200];
int top;
string s; 
int main()
{
    cin>>s;
    int b=s.size();//sizeof s;
    cout<<b;
    for(int i=0;i<b;i++)
        a[i]=s[i];
    for(int i=0;i<b;i++)
    {
        if(a[i]=='('||a[i]=='[') 
            c[++top]=a[i];
        if(a[i]==')'||a[i]==']')
        {
            for(int j=top;j>=0;j--)
            {
                if(a[i]==')'&&c[j]=='(')
                {
                    cout<<c[top--]<<a[i];
                    //top--;
                    break;
                } 
                else if(a[i]==']'&&c[j]=='[')
                {
                    cout<<c[top--]<<a[i];
                    //top--;
                    break;
                } 
            } 
            i++; 
        }

    }
    for(int i=top;i>0;i++)
    {
        if(c[i]=='[') cout<<'['<<']';
        if(c[i]=='(') cout<<'('<<')';
    }
    return 0;
} 

求助大佬


by djwj323 @ 2021-07-21 12:22:09

cout<<b;

...


by g1306374356 @ 2021-07-21 20:01:43

@Cstring_ 这不是主要问题,这是我在本地调试时加上的,把这一句屏蔽后依然不行(七紫五红)


by djwj323 @ 2021-07-21 22:04:21

@g1306374356

for(int i=top;i>0;i++)
    {
        if(c[i]=='[') cout<<'['<<']';
        if(c[i]=='(') cout<<'('<<')';
    }

i++?

另外这题题面本身就不清楚,建议看第二篇题解


by g1306374356 @ 2021-07-22 07:45:58

@Cstring_ 好的谢谢


by QwQ__ @ 2021-08-11 14:08:36

getline


|