refresh的停车场

TimeLimit: 1000MS Memory Limit: 65536KB

SubmitStatistic

Problem Description

 refresh最近发了一笔横财,开了一家停车场。由于土地有限,停车场内停车数量有限,但是要求进停车场的车辆过多。当停车场满时,要进入的车辆会进入便道等待,最先进入便道的车辆会优先

进入停车场,而且停车场的结构要求只出去的车辆必须是停车场中最后进去的车辆。现告诉你停车场容量N以及命令数M,以及一些命令(Add num 表示车牌号为num的车辆要进入停车场或便道,

Del 表示停车场中出去了一辆车,Out 表示便道最前面的车辆不再等待,放弃进入停车场)。假设便道内的车辆不超过1000000.

Input

 输入为多组数据,每组数据首先输入NM0< n,m <200000),接下来输入M条命令。

Output

 输入结束后,如果出现停车场内无车辆而出现Del或者便道内无车辆而出现Out,则输出Error,否则输出停车场内的车辆,最后进入的最先输出,无车辆不输出。

Example Input

2 6

Add18353364208

Add18353365550

Add 18353365558

Add18353365559

Del

Out

Example Output

18353365558

18353364208

Hint

 

Author

 

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
#include<algorithm>
#include<queue>
#include<deque>
#include<stack>
#include <iostream>

using namespace std;




int main()
{
   //freopen("ass","w",stdout);
    int n,m;
    while(~scanf("%d%d",&n,&m))
    {
     int f = 1;
      stack<long int>p;
      queue<long int>q;
      char o[30];
      while(m--)
      {
        scanf("%s",o);
        if(strcmp(o,"Add")==0)
        {
          long int u;
          scanf("%ld",&u);
          if(p.size()<n)
          p.push(u);
          else
          q.push(u);
        }
        else if(strcmp(o,"Del")==0)
        {
          if(p.empty())
          {
            f = 0;
          }
          else
          {
             p.pop();
             if(!q.empty())
             {
                p.push(q.front());
                q.pop();
             }

          }
        }
        else if(strcmp(o,"Out")==0)
        {
           if(q.empty())
           {
             f  = 0;
           }
           else
           q.pop();

        }

      }

     if(f)
     while(!p.empty())
     {
        printf("%ld\n",p.top());
        p.pop();
     }
     else printf("Error\n");
    }
    return 0;
}


/***************************************************
User name: jk160505徐红博
Result: Accepted
Take time: 0ms
Take Memory: 156KB
Submit time: 2017-01-13 21:13:15
****************************************************/