Description

在PushPop城中有一个著名的火车站,车站铁路如图所示。

每辆火车都从A方向驶入车站,再从B方向驶出车站,同时它的车厢可以进行某种形式的重新组合。假设从A方向驶来的火车有N节车厢(N≤1000),分别按顺序编号为1,2,…,N。负责车厢调度的工作人员需要知道能否使它以A1,A2,…,An的顺序从B方向驶出。
请你编写程序,用来判断能否得到指定的车厢顺序。假定在进入车站之前每节车厢之间都是不连着的,并且它们可以自行移动,直到处在B方向的铁轨上。另外假定车站可以停放任意多的车厢。但是一旦车厢进入车站,它就不能再回到A方向的铁轨上了,并且一旦它驶入B方向的铁轨后,它就不能再回到车站。

Input

第1行输入N,接下来的一行是任意多个的出站重组顺序(A1,A2,…,),以0为结束标志,用空格分隔。

Output

输出Yes表示可以把火车(1,2,…,N)火车编排成所需要的顺序(A1,A2,…,),否则用NO表示。

Sample Input

5
5 4 3 2 1

Sample Output

YES

.
.
.
.
.

分析

在中转站C中,车厢符合后进先出的原则,因此是一个栈。

假设我们已经处理了前i-1节从B方向驶出的车厢,我们现在要让aiai驶出。

若aiai不在车站C中,我们就让若干车厢从A方向驶入车站C,直到aiai驶入,再将它从B方向驶出;

若aiai在车站C中,如果它是车站C中停在最前面的,则将它从B方向驶出,否则原问题误解。
.
.
.
.
.

程序:
#include<iostream>
using namespace std;
int main()
{int n,stack[2000],a[2000];cin>>n;for (int i=1;i<=n;i++)cin>>a[i];int top=0,bh=1;for (int i=1;i<=n;i++){while (bh<=a[i]){stack[++top]=bh;bh++;}if (stack[top]==a[i]) top--;else{cout<<"NO";return 0;}}cout<<"YES";return 0;
}

转载于:https://www.cnblogs.com/YYC-0304/p/9499901.html

SSL 2311-车厢调度[栈]相关推荐

  1. 车厢调度(判断是否为合法的出栈序列)

    时间限制: 1 Sec 内存限制: 128 MB [提交] [状态] 题目描述 有一个火车站,铁路如图所示,每辆火车从A驶入,再从B方向驶出,同时它的车厢可以重新组合.假设从A方向驶来的火车有n节(n ...

  2. 7-5 列车厢调度 (25 分)

    7-5 列车厢调度 (25 分) 1 ====== <--移动方向/ 3 ===== \2 ====== -->移动方向 大家或许在某些数据结构教材上见到过"列车厢调度问题&qu ...

  3. 车厢调度(信息学奥赛一本通-T1357)

    [题目描述] 有一个火车站,铁路如图所示,每辆火车从A驶入,再从B方向驶出,同时它的车厢可以重新组合.假设从A方向驶来的火车有n节(n≤1000),分别按照顺序编号为1,2,3,-,n.假定在进入车站 ...

  4. 车厢调度(train.cpp) 问题描述       有一个火车站,铁路如图所示,每辆火车从A驶入,再从B方向驶出,同时它的车厢可以重新组合。假设从A方向驶来的火车有n节

    车厢调度(train.cpp) [问题描述] 有一个火车站,铁路如图所示,每辆火车从A驶入,再从B方向驶出,同时它的车厢可以重新组合.假设从A方向驶来的火车有n节(n<=1000),分别按照顺序 ...

  5. 车厢调度(4种方法)

    题目描述 有一个火车站,铁路如图所示,每辆火车从A驶入,再从B方向驶出,同时它的车厢可以重新组合.假设从A方向驶来的火车有n节(n<=1000),分别按照顺序编号为1, 2,3,-,n.假定在进 ...

  6. pta 习题集5-19 列车厢调度

    1 ====== <--移动方向/3 ===== \2 ====== -->移动方向 大家或许在某些数据结构教材上见到过"列车厢调度问题"(当然没见过也不要紧).今天, ...

  7. 列车厢调度(C语言)

    题目如下: 1 ====== <–移动方向 / 3 ===== \ 2 ====== -->移动方向 有三条平行的列车轨道(1.2.3)以及1-3和2-3两段连接轨道.现有一列车厢停在1号 ...

  8. 7-9 列车厢调度 (25 分)

    1 ====== <--移动方向/3 ===== \2 ====== -->移动方向 大家或许在某些数据结构教材上见到过"列车厢调度问题"(当然没见过也不要紧).今天, ...

  9. 7-12 列车厢调度(25 分)

            1  ======   <--移动方向          /  3 =====            \         2  ======   -->移动方向  大家或许 ...

最新文章

  1. 2016第18本:世界上最简单的会计书
  2. psd页面切割成html技巧总结
  3. spring mvc4 笔记
  4. Jersey框架三:Jersey对HTTPS的支持
  5. 如何在Java中转义JSON字符串-Eclipse IDE技巧
  6. mongodb报错 An error occurred while loading navigation: topology was destroyed
  7. java漂亮界面编程_计算机二级之JAVA篇
  8. 修改itunes备份路径的方法(奇奇怪怪的文件堆积C盘,别让文件成为最后的稻草哦)
  9. c语言 字体点阵取模,[汉字取模软件怎么用]单片机点阵汉字显示需要用
  10. mysql添加序列触发器_在Oracle中创建自增序列之触发器
  11. mysql数据库调试_mysql数据库调试
  12. Arturia Pigments Mac:模拟振荡器和波表振荡器的结合
  13. 推送数据分析全新升级,优化方向一目了然
  14. python写一个ssh工具_用Python和JS实现的Web SSH工具,真香!
  15. 暴力破解西电校园网密码
  16. 我的第一本社会心理学(part3)--自我概念
  17. 感恩母亲节主题活动照片作品征集小程序
  18. 龙腾世纪审判一直连接服务器,【1.7.2】【rpg】我的世界龙腾世纪群组服务器
  19. alk In Web Security(安全世界观): Devleping a Secure Wesite
  20. 怎么通过Unity和谷歌纸盒做一个VR游戏?(译)

热门文章

  1. 科大星云诗社动态20210216
  2. 科大星云诗社动态20210407
  3. [MATLAB学习笔记]peaks函数1013(2)
  4. 云炬Android开发笔记 18解决沉浸栏的Bug和被手机状态栏遮挡的问题
  5. 不同系统下的shell的不同_方向盘越来越重:转向系统不同 原因也不同
  6. 最新研究前线-深度推荐系统真的有效吗?
  7. 从客户端检测到有潜在危险的Request.Form值的asp.net代码
  8. 查看使用的那个USB口和开发板通讯
  9. 【路由交换实验】VLAN
  10. ServletContextListener