Advertisement
LEGEND2004

Parentheses Balance

Feb 10th, 2023
842
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.02 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int main(){
  4.     int t , n;
  5.     string s;
  6.     cin >> t;
  7.     getline(cin , s);
  8.     while(t--){
  9.         getline(cin , s);
  10.         if(s.empty()){
  11.             cout << "Yes" << endl;
  12.             continue;
  13.         }
  14.         int n = s.size();
  15.         stack<char> my;
  16.         bool f = true;
  17.         for(int i = 0; i < n; i++){
  18.            if((s[i] == '(') || (s[i] == '[')){
  19.                my.push(s[i]);
  20.                continue;
  21.             }
  22.             if(my.empty()){
  23.                 f = false;
  24.                 break;
  25.             }
  26.             if((my.top() == '[') && (s[i] == ')')){
  27.                 f = false;
  28.                 break;
  29.             }
  30.             if((my.top() == '(') && (s[i] == ']')){
  31.                 f = false;
  32.                 break;
  33.             }
  34.             my.pop();
  35.        }
  36.        if(!my.empty()){
  37.            f = false;
  38.        }
  39.        if(f){
  40.             cout << "Yes" << endl;
  41.        }else{
  42.             cout << "No" << endl;
  43.        }
  44.     }
  45. }
  46.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement