代码如下:
#include<bits/stdc++.h>
using namespace std;
char a[1000010];
long long f[1000010],s,n,id;
int main() {
scanf("%s",s+1);
n=strlen(a+1);
for(int i=2; i<=n; i++) {
if(a[i]=='('||a[i]=='[')
continue;
if((a[i]==')'&&a[i-f[i-1]-1]=='(')||(a[i]==']'&&a[i-f[i-1]-1]=='[')) {
f[i]=f[i-1]+2+f[i-f[i-1]-2];
if(f[i]>s)
s=f[i],id=i;
}
}
for(int i=id-s+1; i<=id; i++)
cout<<a[i];
cout<<endl;
return 0;
}
感谢各位 dalao。