| 比赛 |
?板子大赛 |
评测结果 |
WEEEE |
| 题目名称 |
括号匹配 |
最终得分 |
0 |
| 用户昵称 |
dbk |
运行时间 |
0.608 s |
| 代码语言 |
C++ |
内存使用 |
4.21 MiB |
| 提交时间 |
2026-01-17 13:26:49 |
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
stack<char>q1;
queue<char>q2;
int n, dep, k, mx;
int mp[1010];
string s;
int main(){
freopen("kakko.in", "r", stdin);
freopen("kakko.out", "w", stdout);
cin >> n;
mp['['] = mp[']'] = 3;
mp['('] = mp[')'] = 1;
mp['{'] = mp['}'] = 2;
while(n--){
cin >> s;
for(int i = 0;i < (int)s.length();i++){
if(s[i] == '[' || s[i] == '(' || s[i] == '{'){
q1.push(s[i]);
dep++;
}
else{
if(mp[q1.top()] == mp[s[i]]){
q1.pop();
}
else{
q2.push(s[i]);
}
if(mx == dep) k++;
if(mx < dep) mx = dep, k = 1;
dep--;
}
}
if(mx == dep) k++;
if(mx < dep) mx = dep, k = 1;
if(q1.empty() && q2.empty()){
cout<<"TRUE ";
cout<<mx<<' '<<k<<endl;
}
else{
cout<<"FALSE ";
}
while(!q1.empty()) q1.pop();
while(!q2.empty()) q2.pop();
}
}