zoukankan      html  css  js  c++  java
  • 【模拟】refresh的停车场

    refresh的停车场 

    Time Limit: 1000MS Memory limit: 65536K

    题目描述

     refresh最近发了一笔横财,开了一家停车场。由于土地有限,停车场内停车数量有限,但是要求进停车场的车辆过多。当停车场满时,要进入的车辆会进入便道等待,最先进入便道的车辆会优先
    进入停车场,而且停车场的结构要求只出去的车辆必须是停车场中最后进去的车辆。现告诉你停车场容量N以及命令数M,以及一些命令(Add num 表示车牌号为num的车辆要进入停车场或便道,
    Del 表示停车场中出去了一辆车,Out 表示便道最前面的车辆不再等待,放弃进入停车场)。假设便道内的车辆不超过1000000.

    输入

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

    输出

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

    示例输入

    2 6
    Add 18353364208
    Add 18353365550
    Add 18353365558
    Add 18353365559
    Del
    Out

    示例输出

    18353365558
    18353364208

     1 #include<stdio.h>
     2 #include <string.h>
     3 
     4 char str[4], num[100];
     5 char s[300010][40], q[100010][40];
     6 int n, m, top1, top2, fo;
     7 
     8 int main()
     9 {
    10     while(~scanf("%d%d",&n,&m))
    11     {
    12         int flag=1;
    13         top1=0; //停车场的下标
    14         top2=0; //便道的下标
    15         fo=0; //从0开始遍历便道的下标
    16 
    17         for(int i=1; i<=m; i++)
    18         {
    19             scanf("%s", str);
    20             if(strcmp(str, "Add")==0)
    21             {
    22                 scanf("%s",num);
    23                 if(top1<n)                    //如果停车厂未达到最大停车量
    24                     strcpy(s[top1++], num);
    25                 else                          //停车厂达到最大停车量,剩下的车辆进入便道
    26                     strcpy(q[top2++], num);
    27             }
    28             else if(strcmp(str, "Del")==0)
    29             {
    30                 if(top1!=0)
    31                 {
    32                     top1--;
    33                     if(fo < top2)
    34                         strcpy(s[top1++], q[fo++]);
    35                 }
    36                 else
    37                     flag=0;
    38             }
    39             else if(strcmp(str, "Out")==0)
    40             {
    41                 if(fo<top2)
    42                     fo++;
    43                 else
    44                     flag=0;
    45             }
    46         }
    47         if(flag)
    48         {
    49             for(int i=top1-1;i>=0;i--)
    50                 printf("%s
    ", s[i]);
    51         }
    52         else
    53             printf("Error
    ");
    54     }
    55     return 0;
    56 }


  • 相关阅读:
    Python动态展示遗传算法求解TSP旅行商问题
    MOEAD算法中均匀权向量的实现---Python
    HDU 5294 多校第一场1007题 最短路+最小割
    POJ 3261 Milk Patterns sa+二分
    HDU 4292 FOOD 2012 ACM/ICPC Asia Regional Chengdu Online
    CodeForces 201A Clear Symmetry
    POJ 1679 The Unique MST 确定MST是否唯一
    POJ 3268 Silver Cow Party 最短路 基础题
    POJ 2139 SIx Degrees of Cowvin Bacon 最短路 水題
    POJ2229 Sumsets 基礎DP
  • 原文地址:https://www.cnblogs.com/6bing/p/4127211.html
Copyright © 2011-2022 走看看