HDU-5479 Scaena Felix
题目链接:HDU-5479
题目大意:给定一个只包含()的字符串 问你需要反转多少次括号 才能使这个字符串没有括号是相匹配的
解题思路:直接从第一个字符向后遍历 如果是左括号就进入栈 如果不是左括号而且栈不为空 说明这是一个需要反转的括号字符 使计数器加一即可 最后输出计数
代码块:
#include<iostream>
#include<stack>
using namespace std;
int main(){
int n;
cin>>n;
getchar();
while(n--){
char c;
stack<char> stackA;
int sum = 0;
while(c = getchar(),c!='\n'){
if(c == '('){
stackA.push(c);
}else{
if(stackA.size() != 0){
stackA.pop();
sum++;
}
}
}
cout<<sum<<endl;
}
return 0;
}