题目链接:https://www.luogu.org/problem/P1739
#include<bits/stdc++.h>
using namespace std;
stack<bool> brackets;
char s[257];
int main(){
scanf("%s",s);
bool flag=true;
for(int i=0;s[i]!='@';++i){
if(s[i]=='('){
brackets.push(true);
}
else if(s[i]==')'){
if(brackets.empty()){
flag=false;
break;
}
brackets.pop();
}
}
if(!brackets.empty()){
flag=false;
}
printf("%s\n",flag?"YES":"NO");
return 0;
}
栈的基本函数: