Advertisement
myloyo

mybad

May 11th, 2023 (edited)
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.51 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <iomanip>
  4. #include <fstream>
  5.  
  6. using namespace std;
  7.  
  8. ifstream in("input.txt");
  9. ofstream out("output.txt");
  10.  
  11. class Stack {
  12.     struct slovos {
  13.         char wrd;
  14.         slovos* next;
  15.         slovos(char x, slovos* p) : wrd(x), next(p) {}
  16.     };
  17.     slovos* head;
  18. public:
  19.     Stack() : head(0) {}
  20.  
  21.     bool Empty() { //проверка на пустоту стека
  22.         return head == 0;
  23.     }
  24.  
  25.     void Push(char data) { // добавляем элемент
  26.         head = new slovos(data, head);
  27.     }
  28.  
  29.     char Top() {
  30.         return head->wrd;
  31.     }
  32.  
  33.     /*char buk(int index) {
  34.         char s = head->wrd;
  35.         char h = s[s.length()-index-1];
  36.         return h;
  37.     }*/
  38.  
  39.     char Pop() {
  40.         slovos* r = head;
  41.         char i = r->wrd;
  42.         head = r->next;
  43.         delete r;
  44.         return i;
  45.     }
  46. };
  47.  
  48. int main() {
  49.     Stack t;
  50.     string s;
  51.     in >> s;
  52.     bool g = true;
  53.     for (int i = 0; i < s.length(); i++) {
  54.         char c = s[i];
  55.         if (c == '(' || c == '[' || c == '{') {
  56.             t.Push(s[i]);
  57.         }
  58.         else if (c == ')' || c == ']' || c == '}') {
  59.             char top = t.Top();
  60.             if (t.Empty()) {
  61.                 g = false;
  62.             }
  63.             else if ((c == ')' && top != '(') || (c == '}' && top != '{') || (c == ']' && top != '[')) {
  64.                 g = false;
  65.             }
  66.         }
  67.     }
  68.  
  69.     if (g) { out << "Yes"; }
  70.     else { out << "No"; }
  71.  
  72.     return 0;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement