蜜汁63。。求助

P1241 括号序列

beretty @ 2017-10-12 19:29:22

各位dalao来帮下蒟蒻好吗?

不知道为啥一直63.。。

**改了不少时间了QWQ

**一直W1,2,3,12,13点

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
char s[102];
int p[102],n;
bool flag;
void pp(char ch)
{
    if(ch=='(') printf("()");
    else if(ch=='[') printf("[]");
}
int change(char c)
{
    if(c=='(') return 1;
    if(c==')') return -1;
    if(c=='[') return 101;
    if(c==']') return -101;
    return 0;
}
void out()
{
    int i;
    for(i=0;i<n;i++)
    {
      if(p[i]==0) printf("%c",s[i]);
      else 
      {
          if(p[i]==-1||p[i]==1) 
            printf("()");
          else if(p[i]==101||p[i]==-101)
            printf("[]");
      }
    }
}
int main()
{
    int i,j,k;
    scanf("%s",s);
    n=strlen(s);
    for(i=0;i<n;i++)
      p[i]=change(s[i]);
    for(i=0;i<n;i++)
    {
        if(p[i]>0)
        for(j=i+1;j<n;j++)
        {
          if(p[j]==p[i]) break;
          else
          if(p[i]+p[j]==0)
          {
            p[i]=0;
            p[j]=0;
            break;
          }
        }
        else if(p[i]<0)
        for(j=i-1;j>=0;j--)
        {
          if(p[j]==p[i]) break;
          if(p[i]+p[j]==0)
          {
              p[i]=0;
            p[j]=0;
            break;
          }
        }
    }
    out();
    return 0;
}

by violinwang @ 2018-05-05 17:26:47

同上


by 迈吉扣 @ 2018-07-30 09:46:54

给一个数据:

输入:(((])[[(]]]](

AC:()()([])[][]()[][][][]()

WA:()()([])[[()]][][]()


by return_dirt @ 2020-04-10 22:43:38

@迈吉扣 太感谢了


|