题目描述:
某城市有一个火车站,铁轨铺设如图所示。

有n节车厢从A方向驶入车站,按进站顺序编号1~n。
现让这些火车按照某种特定的顺序进入B方向的铁轨并驶出车站。
为了重组车厢,可以借助中转站C。
C是一个可以停放任意多节车厢的车站,但由于末端封顶,驶入C的车厢必须按照相反的顺序驶出C。
对于每个车厢,一旦从A移入C,就不能再回到A了;一旦从C移入B,就不能回到C了。
换句话说,在任意时刻,只有两种选择:A→C和C→B。
请编程判断判断:按给定的出站顺序,火车能否出站。
样例输入:
5
1 2 3 4 5
5
5 4 1 2 3
6
6 5 4 3 2 1
样例输出:
Yes
No
Yes

#include<cstdio>
#include<stack>
using namespace std;
const int MAXN=1000+10;
int n,target[MAXN];
int main()
{while(scanf("%d",&n)==1){stack<int>s;int A=1,B=1;for(int i=1;i<=n;i++)scanf("%d",&target[i]);int ok=1;while(B<=n){if(A==target[B])  //A方向的列车直接与目标一致 {A++;B++;}else if(!s.empty()&&s.top()==target[B])     //c中列车序号是目标序号 {s.pop();  //弹出c中第一个   继续选择目标序列下一个 B++;}else if(A<=n)  s.push(A++);   //都不满足   A中列车进入C中 else   //以上条件均不符合   说明无法按照目标序列排序 {ok=0;   break;}}printf("%s\n",ok?"YES":"NO");   }return 0;}

题目描述: 某城市有一个火车站,铁轨铺设如图所示。 有n节车厢从A方向驶入车站,按进站顺序编号1~n。 现让这些火车按照某种特定的顺序进入B方向的铁轨并驶出车站。 为了重组车厢,可以借助中转站C。相关推荐

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

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

  2. 京东笔试——神奇数 【题目描述】东东在一本古籍上看到有一种神奇数,如果能够将一个数的数字分成两组,其中一组数字的和 等于另一组数字的和,我们就将这个数称为神奇数。例如 242 就是一个神奇数,我们能够

    2 .神奇数 [ 题目描述]东东在一本古籍上看到有一种神奇数,如果能够将一个数的数字分成两组,其中一组数字的和 等于另一组数字的和,我们就将这个数称为神奇数.例如 242 就是一个神奇数,我们能够将这 ...

  3. python十进制转换其他进制直到输入q结束,python二进制转换,python将十进制转为二进制,题目描述:输入一个整...

    python二进制转换,python将十进制转为二进制,题目描述:输入一个整 题目描述: 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 分析: python没有unsignedin ...

  4. 1504: 变态杀人狂 时间限制: 1 Sec 内存限制: 128 MB 提交: 21 解决: 10 [提交][状态][论坛] 题目描述 变态杀人狂三师弟想到一个杀人游戏 游戏规则如下: 三师

                1504: 变态杀人狂 时间限制: 1 Sec  内存限制: 128 MB 提交: 21  解决: 10 [提交][状态][论坛] 题目描述 变态杀人狂三师弟想到一个杀人游戏 ...

  5. 联通块 【题目描述】 一个n * m的方格图,一些格子被涂成了黑色,在方格图中被标为1,白色格子标为0。问有多少个四连通的黑色格子连通块。四连通的黑色格子连通块指的是一片由黑色格子组成的区域,其中的每

    联通块 [题目描述] 一个n * m的方格图,一些格子被涂成了黑色,在方格图中被标为1,白色格子标为0.问有多少个四连通的黑色格子连通块.四连通的黑色格子连通块指的是一片由黑色格子组成的区域,其中的每 ...

  6. wps表格怎么按特定的顺序对数据进行排序

    WPS表格数据怎么排序?在做WPS表格的时候经常需要排序,不管是年终评比还是其他的,前几名的总是有好处的,那么WPS表格怎么排序呢?常规的排序很容易实现,但有时我们需要按特定的顺序对数据进行排序,例如 ...

  7. 函数计算 【题目描述】

    函数计算 [题目描述] 有一个数列,f(n) = f(n-1) + f(n//2) + f(n//3),其中n//m表示整除. 如 3//2=1, 4//2=2, 5//2=2. 当n<=0时, ...

  8. c++账户类 题目描述

    账户类 题目描述 定义一个基类Account,数据成员包含string类变量userName用于保存账户主人姓名,函数成员包括默认构造函数.带参构造函数用于初始化数据成员和输出姓名的成员函PrintN ...

  9. php判断三角形类型,C#_C#判断三角形的类型,题目描述: 输入三角形的三 - phpStudy...

    C#判断三角形的类型 题目描述: 输入三角形的三条边长,判断是否能构成一个三角形(不考虑退化三角形,即面积为零的三角形),是什么样的三角形(直角.锐角.钝角.等边.等腰). 函数声明为:byte Ge ...

最新文章

  1. Java 内存泄漏排查,新技能+1
  2. ASP.NET页面包含另外一个页面
  3. 在PL/SQL里直接插入日期时提示 is not a valid date and time的解决方法
  4. python培训班价格-成都Python课程
  5. 如何用笔记本建立wifi热点
  6. 李沐《动手学深度学习》新增PyTorch和TensorFlow实现,还有中文版
  7. 【每日一题】7月3日精讲—毒瘤xor
  8. 单片机机器周期怎么计算公式_单片机的机器周期计算
  9. 卡尔曼滤波估算车辆质量——matab simulink仿真
  10. 联想杨元庆:未来五年研发总投入将会超过1000亿人民币
  11. 【白话设计模式二十二】解释器模式(Interpreter)
  12. 一篇 JPA 总结
  13. LINUX任务栏上出现的小窗口是怎么回事
  14. face landmark 人脸特征点检测
  15. 解决sysman.mgmt_task_qtable ORA-600 kdsgrp1错误
  16. 万字文肝Python基础知识
  17. springboot无法打开 jsp 页面变成下载解决办法
  18. 黄金分割法c语言源代码,黄金分割法-C语言
  19. 土地资源管理考研资料分享
  20. oracle apex global,Oracle Apex 实用笔记系列 1 - Oracle Apex 调试技巧

热门文章

  1. 【STM8】两个单片机之间的Lora通讯实验
  2. 阿里云手机号停机了怎么办?阿里云手机号收不到验证码,阿里云子账号建立教程
  3. Java错误类型:Exception in thread main java.lang.Error: Unresolved compilation problem: Syntax error,
  4. (三)Grahpics之Blit
  5. ipad上的学习app设置及相应的材料
  6. OCP 11G 053题库解析汇总链接(1-200)
  7. M1 MacBook的Parellel Desktop(PD)使用问题记录
  8. vue h5网页点击按钮 -- 跳到微信小程序 wx-open-launch-weapp;onMenuShareAppMessage 分享图片不显示,且方法已废弃
  9. 工业设计公司如何进行家电设计创新?
  10. 【移动光猫H2-2的完全破解心路历程及配置】