栈做法,WA40
查看原帖
栈做法,WA40
761125
Milthm楼主2022/12/29 13:01

做法就是栈,但是不知道为什么WA40分,试了好几个自己出的数据也可以过,求大佬hack

#include<iostream>
#include<cstring>
using namespace std;
string s,sans;
char a[1000005];
int cnt,ans,t;
int main(){
    cin>>s;
    int l=s.size();
    for(int i=0;i<l;i++){
        a[++t]=s[i];
        cnt++;
        if(a[t]==')'&&a[t-1]=='('||a[t]==']'&&a[t-1]=='['){
            t-=2;
        }
        else if(a[t]==')'&&a[t-1]!='('||a[t]==']'&&a[t-1]!='['){
            cnt=0;
            t=0;
        }
        if(t==0&&cnt>ans){
            ans=cnt;sans=s.substr(i-ans+1,ans);
        }
    }
    cout<<sans;
    return 0;
}
2022/12/29 13:01
加载中...