Morass

ueue songman

Sep 9th, 2016
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.46 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. using LINT = long long int;
  5. using PII = pair<int,int>;
  6.  
  7. #define PB push_back
  8. #define FI first
  9. #define SE second
  10. #define REP(i,n) for(int i=0;i<(n);++i)
  11. #define FOR(i, a, b) for(int i=(a);i<(b);++i)
  12.  
  13. int q;
  14. deque<int> d;
  15. bool rev=false;
  16.  
  17. int main() {
  18.     cin>>q;
  19.     REP(i,q){
  20.         string s;
  21.         cin>>s;
  22.         if(s=="toFront"){
  23.             int n;cin>>n;
  24.             if(rev)d.push_back(n);
  25.             else d.push_front(n);
  26.         }
  27.         else if(s=="push_back"){
  28.             int n;cin>>n;
  29.             if(rev)d.push_front(n);
  30.             else d.push_back(n);
  31.         }
  32.         else if(s=="reverse")
  33.             rev = !rev;
  34.         else if(s=="front"){
  35.             if(d.size()){
  36.                 if(rev){
  37.                     cout<<d.back()<<endl;
  38.                     d.pop_back();
  39.                 }
  40.                 else {
  41.                     cout<<d.front()<<endl;
  42.                     d.pop_front();
  43.                 }
  44.             }
  45.             else cout<<"No job for Ada?"<<endl;
  46.         }
  47.         else if(s=="back"){
  48.             if(d.size()){
  49.                 if(rev){
  50.                     cout<<d.front()<<endl;
  51.                     d.pop_front();
  52.                 }
  53.                 else {
  54.                     cout<<d.back()<<endl;
  55.                     d.pop_back();
  56.                 }
  57.             }
  58.             else cout<<"No job for Ada?"<<endl;
  59.         }
  60.     }
  61.  
  62.     return 0;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment