题目链接:P3056 [USACO12NOV]Clumsy Cows S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
题目大意:
找成对的括号,没有可以匹配的就要反转,记录反转了几次
思路:
栈
坑点:
最后要检查栈是否为空的,别忘了栈的头文件,我怎么老忘了打头文件,无语自己了
代码:
#include<stdio.h>
#include<algorithm>
#include<iostream>
#include<stack>
using namespace std;
stack <char>st;//栈
string s;
int main()
{
cin>>s;
int sum=0;
for(int i=0;i<s.size();i++)
{
if(s[i]=='(')//左括号时
{
st.push(s[i]);//进栈
}else{//右括号
if(st.empty())//输入的是右括号,没有可以匹配的,就要反转
{
st.push('(');
sum++;