题意:统计完整的括号匹配的个数;
思路:栈的运用;
注意:这里对于前导为")"的情况可以不用deal;
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<stack>
#include<cstring>
using namespace std;
const int maxa=1e5+10;
char a[maxa];
int deal(){
int temp=0;
for(int i=0;i<strlen(a);i++)
if(a[i]=='('){
temp=i;
break;
}
return temp;
}
int main(){
stack<char>s;
while(cin>>a){
int ans=0;
int temp=deal();//去除前缀')';
for(int i=temp;i<strlen(a);i++){
if(a[i]=='(') s.push(a[i]);
else if(a[i]==')'&&!s.empty()){
s.pop();
ans++;
}
}
printf("%d\n",ans);
}
}