P8355 「WHOI-1」永远的十五岁

· · 题解

打开洛谷比赛仅剩 10min,切掉了 A 题。

Solution

定义括号匹配串说白了就是 一个左括号和一个右括号匹配起来,构成了一个匹配串。

因为题目并没有限制可以交换括号多少次,所以容易看出 此题只用寻找有几对左括号和右括号可以匹配起来,就可以得出答案。

注意:题目要求的是匹配串的长度,而不是有几个匹配串。

Code

#include<bits/stdc++.h>
#define ll long long
using namespace std;
string s;
int len,l,r;
int main(){
    cin>>len;
    cin>>s;
    for(int i=0;i<len;i++){
        if(s[i]=='(') l++;//左括号
        else if(s[i]==')') r++; //右括号
    }
    cout<<min(l,r)*2;//左括号个数和右括号个数中较小的个数就是匹配串的个数,一个串有2个括号
    return 0;
}