http://codevs.cn/problem/2821/
题目描述 Description

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

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

输入描述 Input Description

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

输出描述 Output Description

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

样例输入 Sample Input

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

样例输出 Sample Output

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

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<algorithm>
 4 #include<cstring>
 5
 6 using namespace std;
 7
 8 int N,full,train,num;
 9 int queue[31],stack[31];
10 char s;
11
12 int main()
13 {
14     cin>>N;
15     for(int i=1;i<=N;i++)
16     {
17         cin>>s;
18         if(s=='A')
19         {
20             num++;
21             train++;
22             queue[train]=num;
23         }
24         if(s=='B')
25         {
26             if(full==5)
27             {
28                 cout<<"No"<<endl;
29                 return 0;
30             }
31             num++;
32             full++;
33             stack[full]=num;
34         }
35         if(s=='C')
36             if(full!=0)
37             {
38                 train++;
39                 queue[train]=stack[full];
40                 full--;
41             }
42             else
43             {
44                 cout<<"No"<<endl;
45                 return 0;
46             }
47     }
48     cout<<"Yes"<<endl;
49     for(int i=1;i<=num;i++)
50         cout<<queue[i]<<endl;
51 return 0;
52 }

转载于:https://www.cnblogs.com/Shy-key/p/6366955.html

T2821 天使之城 codevs相关推荐

  1. [ CodeVS冲杯之路 ] P1116

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/1116/ 数据很小,DFS可A,每层枚举颜色,判断相邻的点是否有重复的颜色,记得回溯时把颜色染回0,即无颜色 这里我使用 ...

  2. 【贪心】【codevs】1214 线段覆盖

    http://codevs.cn/problem/1214/ 我去这个题...wa的我都没脾气了... 我写while(~scanf("%d", &n))竟然是不对的... ...

  3. [codevs 1913] 数字梯形问题

    [codevs 1913] 数字梯形问题 题解: 本题就是加强版的 [codevs 1033] 蚯蚓的游戏问题. 分别针对三个规则建图.运行最小费用最大流. 规则1:从梯形的顶至底的m条路径互不相交. ...

  4. codevs 1002 搭桥

    codevs 第一道题 先贴描述 1002 搭桥  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果 题目描述 Description 有一矩 ...

  5. bzoj 1050: [HAOI2006]旅行comf(codevs.cn 1001 舒适的路线) 快排+并查集乱搞

    没用的话:好像很久没发博客了,主要是懒太蒟找不到水题.我绝对没弃坑...^_^ 还用些话:本文为博主原创文章,若转载请注明原网址和作者. 进入正题: 先pa网址: bzoj :http://www.l ...

  6. codevs 1531 山峰

    codevs 1531 山峰 题目描述 Description Rocky山脉有n个山峰,一字排开,从西向东依次编号为1, 2, 3, --, n.每个山峰的高度都是不一样的.编号为i的山峰高度为hi ...

  7. 习题:codevs 2822 爱在心中 解题报告

    这次的解题报告是有关tarjan算法的一道思维量比较大的题目(真的是原创文章,希望管理员不要再把文章移出首页). 这道题蒟蒻以前做过,但是今天由于要复习tarjan算法,于是就看到codevs分类强联 ...

  8. codevs 1376 帕秋莉•诺蕾姬

    codevs 1376 帕秋莉•诺蕾姬 题目描述 Description 在幻想乡,帕秋莉•诺蕾姬是以宅在图书馆闻名的魔法使.这一天帕秋莉又在考虑如何加 强魔法咒语的威力.帕秋莉的魔法咒语是一个仅有大 ...

  9. [ CodeVS冲杯之路 ] P1044

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/1044/ 机房连续断网,搞得现在才能上博客-- 很经典的DP题,把问题转换一下就是分别求最不降序列和最长上升序列 f[i ...

最新文章

  1. InteractiveGraph 实现酷炫关系图谱之前瞻
  2. spring学习(36):注入简单类型
  3. 《零基础》MySQL 连接的使用(二十)
  4. layui select使用问题
  5. java double 存储_Java语言中:float、double在内存中存储方式
  6. 原来查询语句还有这功能,累计变量值
  7. web 页面间传值 js 封装方法
  8. web自动化知识点-03
  9. 焊接工时简便计算工具_焊接工时计算表
  10. 计算机系统概述-为什么要学习计算机系统基础
  11. 车载前视摄像头学习笔记 ———— 环境影响
  12. 营销增长系列:从零开始做运营?
  13. 搞定HTML\CSS之background属性
  14. 世界人工智能大会开幕,云计算概念股大涨
  15. SQL实际问题——列的替换和汇率打折问题
  16. 汽车领域多语种迁移学习挑战赛-Coggle 30 Days of ML
  17. yaffs2的补丁文件patch-ker分析
  18. web页面的性能优化以及SEO(搜索引擎优化)
  19. 【现代密码学原理】——分组密码和数据加密标准DES(学习笔记)
  20. 计算机怎样发现路由器上u盘,路由器上USB插口的4大功能,估计你连一个都没用过...

热门文章

  1. python绘制随机数直方图-用matplotlib画直方图(histogram)
  2. python是c语言写的吗-Python与C语言有什么区别?
  3. python编程实例视屏-使用Python实现视频下载功能实例代码
  4. 开课吧python课程-Python教父廖雪峰加入开课吧 打造技术品类黄金内容班底
  5. python的优缺点有哪些-python的优缺点有哪些
  6. python浪漫代码-python七夕浪漫表白源码
  7. python第一次使用教程-python入门教程第一日
  8. python各个解释器的用途-【Python面试】 说说Python解释器种类以及特点?
  9. python入门要什么基础-python需要什么基础
  10. python读取文件第n行-python读取文件的前几行