| 比赛 |
?板子大赛 |
评测结果 |
WWWWT |
| 题目名称 |
括号匹配 |
最终得分 |
0 |
| 用户昵称 |
exil |
运行时间 |
1.172 s |
| 代码语言 |
C++ |
内存使用 |
9.27 MiB |
| 提交时间 |
2026-01-17 13:56:50 |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
freopen("kakko.in","r",stdin);
freopen("kakko.out","w",stdout);
int n;
cin>>n;
for(int i = 1;i<=n;i++){
string s;
cin>>s;
vector<int> v[3];
int len=s.length();
int r=0;
for(int i=0;i<len-1;i++){
if((s[i]=='(' && s[i+1]==')') || (s[i]=='[' && s[i+1]==']') || (s[i]=='{' && s[i+1]=='}') || (s[i]=='<' && s[i+1]=='>')){
v[0].push_back(i);
v[1].push_back(i+1);
v[2].push_back(1);
r++;
}
}
int ans=1;
int ll=0;
while(v[0].size()!=0){
ans=max(v[2][0],ans);
ll=max(ll,v[1][0]-v[0][0]+1);
if(v[0][0]!=0 && v[1][0]!=len-1 && ((s[v[0][0]-1]=='(' && s[v[1][0]+1]==')') || (s[v[0][0]-1]=='[' && s[v[1][0]+1]==']') || (s[v[0][0]-1]=='{' && s[v[1][0]+1]=='}') || (s[v[0][0]-1]=='<' && s[v[1][0]+1]=='>'))){
v[0].push_back(v[0][0]-1);
v[1].push_back(v[1][0]+1);
v[2].push_back(v[2][0]+1);
}
else if(v[0].size()>1 && v[0][1]==v[1][0]+1 && v[1][0]!=len-1){
v[0].push_back(v[0][0]);
v[1].push_back(v[1][1]);
v[2].push_back(max(v[2][0],v[2][1]));
v[0].erase(v[0].begin()+1);
v[1].erase(v[1].begin()+1);
v[2].erase(v[2].begin()+1);
}
v[0].erase(v[0].begin());
v[1].erase(v[1].begin());
v[2].erase(v[2].begin());
}
if(ll!=len){
cout<<"FALSE"<<endl;
}
else{
cout<<"TRUE "<<ans<<" "<<r<<endl;
}
}
return 0;
}