Advertisement
konchin_shih

e924: pC. 括號配對

Aug 6th, 2020
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.80 KB | None | 0 0
  1. #include<iostream>
  2. #include<stack>
  3. #define endl '\n'
  4. using namespace std;
  5. int main() {
  6.     cin.tie(nullptr);
  7.     ios::sync_with_stdio(false);
  8.     int n;
  9.     string str;
  10.     cin >> n;
  11.     for (int i = 0; i != n; i++) {
  12.         stack<char> s;
  13.         cin >> str;
  14.         for (const auto& i : str)
  15.             switch (i) {
  16.             case ')':
  17.                 if (s.size() && s.top() == '(') s.pop();
  18.                 else {s.push(i); goto break2;}
  19.                 break;
  20.             case ']':
  21.                 if (s.size() && s.top() == '[') s.pop();
  22.                 else {s.push(i); goto break2;}
  23.                 break;
  24.             case '>':
  25.                 if (s.size() && s.top() == '<') s.pop();
  26.                 else {s.push(i); goto break2;}
  27.                 break;
  28.             case '}':
  29.                 if (s.size() && s.top() == '{') s.pop();
  30.                 else {s.push(i); goto break2;}
  31.                 break;
  32.             default:
  33.                 s.push(i);
  34.             }
  35. break2:
  36.         cout << "NY"[!s.size()] << endl;
  37.     }
  38.     return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement