10pts求助
查看原帖
10pts求助
251074
学习柯学楼主2023/4/3 21:01

代码如下

#include<bits/stdc++.h>
using namespace std;
stack <pair<char,int> > st;
int i,v[1000005], sum, mmax, f;
string s;
int main()
{
	cin>>s;
	for(i=0;i<s.size();i++)
	{
		if(!st.empty())
			if((st.top().first=='['&&s[i]==']')||((st.top().first=='('&&s[i]==')')))
			{
				v[st.top().second]=1;
				v[i]=1;
				st.pop();
				continue;
			}
		st.push(make_pair(s[i],i));
	}
	for(i=0;i<s.size();i++)
	{
		if(v[i]==0)
		{
			if(sum>mmax)
			{
				mmax=sum;
				f=i;
			}
		}
		else {
			sum++;
		}
	}
	for(i=f-mmax;i<f;i++)
	{
		cout<<s[i];
	}
 	return 0;
}

2023/4/3 21:01
加载中...