求救贴.试了所有hack数据都过了,可还是wa40
查看原帖
求救贴.试了所有hack数据都过了,可还是wa40
784813
SakurajiamaMai楼主2023/10/2 17:36
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
int top,n;
string s,tmp,ans,res;
char stack_[N];
bool flag;
int main()
{
    s=" ",ans=" ",res=" ";
    cin>>tmp;
    s+=tmp,n=s.size();
    int num1=0,num2=0;
    for(int i=1;i<=n;i++){
        if(ans.size()>res.size()&&num1==num2&&num1!=0) res=ans;
        if(s[i]=='('||s[i]=='[') stack_[++top]=s[i],ans+=s[i],num1++;
        else if((s[i]==')'&&stack_[top]=='(')||(s[i]==']'&&stack_[top]=='[')) ans+=s[i],top--,num2++;
        else ans=" ",top=num1=num2=0;
        if(ans.size()>res.size()&&num1==num2&&num1!=0) res=ans;
    }
    int x=res.size();
    for(int i=1;i<=x;i++) cout<<res[i];
    return 0;
}
2023/10/2 17:36
加载中...