1353:表达式括号匹配(stack)
注意考虑出现多余右括号的情况!
1 #include<iostream> 2 #include<cstring> 3 #include<stack> 4 using namespace std; 5 6 stack<char> sta; 7 8 bool match(){ 9 char c; 10 while(cin>>c){ 11 if(c=='@')break; 12 if(c=='(')sta.push(c); 13 if(c==')'){ 14 if(!sta.empty())sta.pop(); 15 else return 0; 16 } 17 } 18 if(sta.empty())return 1; 19 else return 0; 20 } 21 int main(){ 22 if(match())cout<<"YES"; 23 else cout<<"NO"; 24 return 0; 25 }