题目描述
对于一个左括号 (
,若能在它的后方找到一个右括号 )
与之配对,称之为一对括号匹配。
给出一行由 (
和 )
组成的括号字符,请你找出最多有多少对括号匹配?
输入格式
一行长度不超出 10001000 的字符串,仅由(
和 )
组成的。
输出格式
一行一个整数,输出最多括号匹配的对数
样例输入1
((()))
样例输出1
3
样例输入2
()))())
样例输出2
2
样例分析
如上所述。
数据范围
100%100% 的数据:字符串长度不超出 10001000 。
代码:
#include<bits/stdc++.h>
using namespace std;
char a[1005];
int main(){
char ch;
int top=0,tail,cnt=0;
while(cin>>ch){
if(ch=='('){
a[top]='(';
top++;
}
else{
if(top!=0){
cnt++;
top--;
}
}
}
cout<<cnt;
return 0;
}