Parentheses_Balance
#include<iostream> #include<stack> using namespace std; int main() { int T; scanf("%d%*c", &T); while(T--) { string str; getline(cin, str); bool flag = true; stack<char> s; for(int i = 0; i < str.length(); i++) { if(str[i] == '(') s.push('('); else if(str[i] == '[') s.push('['); else if(str[i] == ')') { if(!s.empty() && s.top() == '(') s.pop(); else{ flag = false; break; } } else if(str[i] == ']') { if(!s.empty() && s.top() == '[') s.pop(); else{ flag = false; break; } } } if(flag) flag = s.empty(); if(flag) printf("Yes\n"); else printf("No\n"); } return 0; }