• tyvjBegin P1033 Begin2 Unit1 天使之城


    背景 Background

    天使城有一个火车站,每辆火车都从A方向驶入车站,
    再从B方向驶出车站。

    描述 Description

    为了调度火车,火车站设有停放轨道,可存放5辆火车。已知从A进入车站顺序为1、2、3……。现在给你一个调度方案,判断是否可行,如果可行,输出出站顺序。
    有以下几种调度方法:
    A. 将A上的头一辆车驶出B方向
    B. 将A上的头一辆车停入暂停轨道
    C. 将暂停轨道上最外面的车驶出B方向

    输入格式 Input Format

    输入第一行一个整数N(n<30)表示调度方案步骤数目。
    下一行一个字符串,有N个大写字母,表示调度方法。

    输出格式 Output Format

    输出若不可行(暂停站满了还停车、暂停站空了还出车),则输出一行“No”。
    若可行,输出一行“Yes”,再输出若干行,每行一个整数,表示车出站序列。

    样例输入 Sample Input

    [样例输入1]
    6
    ABBCCA
    [样例输入2]
    5
    BACAC

    样例输出 Sample Output

    [样例输出1]
    Yes
    1
    3
    2
    4
    [样例输出2]
    No

    时间限制 Time Limitation

    各个测试点1s

    来源 Source

    栈和队列

     

    一次通过。。。发现没发上来,赶紧补上

    program p1033;
     type stack = record
                   v:array[1..5]of integer;
                   top:integer;
                  end;
          queue = record
                   v:array[1..30]of integer;
                   left,right:integer;
                  end;
     var
      s:stack;
      q:queue;
      k,t,i,n:integer;
      ch:char;
      jilu:array[1..30]of integer;
     begin
      k:=1;t:=1;s.top:=0;
      readln (n);
      for i := 1 to n do
       begin
        read (ch);
        if ch = 'A' then
         begin
          jilu[k]:=t;
          inc(k);
          inc(t);
         end;
        if ch = 'B' then
         begin
          if s.top > 5 then
           begin
            writeln ('No');
            exit;
           end;
          inc(s.top);
          s.v[s.top]:=t;
          inc(t);
         end;
        if ch = 'C' then
         begin
          if s.top = 0 then
           begin
            writeln ('No');
            exit;
           end;
          jilu[k]:=s.v[s.top];
          inc(k);
          dec(s.top);
         end;
       end;
      writeln ('Yes');
      for i := 1 to t-1 do writeln (jilu[i]);
     end.
    
  • 相关阅读:
    PyQt5--基础篇:用eric6工具实现三级联动效果
    Django--基本篇:项目结构与设计模式(MVC)
    python文件最基础的读写删除
    Begin using git (Part1)
    Begin using git
    通用刷新数据源代码
    Combox程序中自定义数据源
    表内父子关系的递归查询
    C++ 获取数组长度
    Linux在终端里面切换root用户
  • 原文地址:https://www.cnblogs.com/yachen/p/1895942.html
Copyright © 2020-2023  润新知