比赛 ?板子大赛 评测结果 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;
}