Advertisement
MeehoweCK

Untitled

Feb 15th, 2021
567
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.12 KB | None | 0 0
  1. #include <iostream>
  2. #include <stack>
  3. #include <utility>
  4. #include <vector>
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10.     stack<int> stos;
  11.     vector<stack<int>> dane;
  12.     unsigned n;
  13.     cin >> n;
  14.     pair<char, int> tablica[n];
  15.     for(unsigned i = 0; i < n; ++i)
  16.     {
  17.         cin >> tablica[i].first;
  18.         if(tablica[i].first == '-')
  19.             continue;
  20.         cin >> tablica[i].second;
  21.     }
  22.  
  23.     // pierwsza operacja:
  24.     stos.push(tablica[0].second);
  25.     dane.push_back(stos);
  26.  
  27.     // kolejne operacje:
  28.     for(unsigned i = 1; i < n; ++i)
  29.     {
  30.         switch(tablica[i].first)
  31.         {
  32.         case '+':
  33.             stos = dane[i - 1];
  34.             stos.push(tablica[i].second);
  35.             break;
  36.         case '-':
  37.             stos = dane[i - 1];
  38.             stos.pop();
  39.             break;
  40.         case '*':
  41.             stos = dane[i - tablica[i].second - 1];
  42.         }
  43.         dane.push_back(stos);
  44.     }
  45.  
  46.     for(unsigned i = 0; i < n; ++i)
  47.     {
  48.         if(dane[i].size() == 0)
  49.             cout << -1 << endl;
  50.         else
  51.             cout << dane[i].top() << endl;
  52.     }
  53.     return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement