a53

StrigPushPop_Of

a53
May 24th, 2020
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. /// Solutie - Moca Andrei - 100p
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4. deque<char> dq;
  5. string s;
  6. bool rev;
  7. int q;
  8. char op, c;
  9. int main() {
  10. ios::sync_with_stdio(false);
  11. cin.tie(0), cout.tie(0);
  12. cin >> s;
  13. for (const char& ch : s)
  14. dq.push_front(ch);
  15. s.clear();
  16. cin >> q;
  17. while (q--) {
  18. cin >> op;
  19. if (op == '5')
  20. rev = !rev;
  21. else if (op > '2') {
  22. if ((op == '3' && !rev) || (op == '4' && rev))
  23. dq.pop_back();
  24. else dq.pop_front();
  25. }
  26. else {
  27. cin >> c;
  28. if ((op == '1' && !rev) || (op == '2' && rev))
  29. dq.push_back(c);
  30. else dq.push_front(c);
  31. }
  32. }
  33. while (!dq.empty()) {
  34. if (rev)
  35. s += dq.front(), dq.pop_front();
  36. else s += dq.back(), dq.pop_back();
  37. }
  38. cout << s;
  39. return 0;
  40. }
Add Comment
Please, Sign In to add comment