68分,求调!!!
查看原帖
68分,求调!!!
1191361
daixihan楼主2025/7/25 14:30
#include<bits/stdc++.h>
using namespace std;
const int N=1e4+5;
int a[N],f[N],maxn;
string b;
int main(){
	cin>>b;
	for(int i=0;i<b.size();i++){
		if(b[i]=='(') a[i+1]=1;
		else if(b[i]==')') a[i+1]=-1;
		else if(b[i]=='[') a[i+1]=2;
		else if(b[i]==']') a[i+1]=-2;
		else if(b[i]=='{') a[i+1]=3;
		else if(b[i]=='}') a[i+1]=-3;
	}
	for(int i=1;i<=b.size();i++){
		if(a[i]+a[i-f[i-1]-1]==0){
			f[i]=f[i-1]+2+f[i-f[i-1]-2];
		}
		maxn=max(maxn,f[i]);
	}
	cout<<maxn;
	return 0;
}
2025/7/25 14:30
加载中...