社区讨论
84分TLE求调
P10472括号画家参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mhj8zafo
- 此快照首次捕获于
- 2025/11/03 22:40 4 个月前
- 此快照最后确认于
- 2025/11/03 22:40 4 个月前
RT代码如下
CPP#include<bits/stdc++.h>
#define int long long
using namespace std;
stack<char>s;
string st;
int len,cnt1,cnt2,cnt3,ans=-1;
bool flag;
signed main()
{
cin>>st;
len=st.size();
for(int i=0;i<len;i++)
{
for(int j=0;j<len;j++)
{
while(!s.empty())
{
s.pop();
}
cnt1=0,cnt2=0,cnt3=0,flag=1;
for(int k=i;k<=j;k++)
{
if(st[k]=='(')
{
s.push(st[k]);
cnt1++;
}
if(st[k]=='[')
{
s.push(st[k]);
cnt2++;
}
if(st[k]=='{')
{
s.push(st[k]);
cnt3++;
}
if(st[k]==')')
{
if(cnt1 and s.top()=='(')
{
s.pop();
cnt1--;
}
else
{
flag=0;
break;
}
}
if(st[k]==']')
{
if(cnt2 and s.top()=='[')
{
s.pop();
cnt2--;
}
else
{
flag=0;
break;
}
}
if(st[k]=='}')
{
if(cnt3 and s.top()=='{')
{
s.pop();
cnt3--;
}
else
{
flag=0;
break;
}
}
}
if(flag and s.empty()) ans=max(ans,j-i+1);
}
}
cout<<ans<<'\n';
return 0;
}
救救孩子!
回复
共 0 条回复,欢迎继续交流。
正在加载回复...