古老的火车问题
来源:互联网 发布:程序员使用的输入法 编辑:程序博客网 时间:2024/05/17 02:41
在地球的某个地方,有一个非常古老的火车站。这个车站只有一个如图所示的Y字型铁轨,并且火车只能经过A点驶入车站(设行驶方向为正),到达岔路口时反向经过B点驶出车站或者进入站台等待。一辆有n节车厢的火车驶入车站,火车的每一节车厢在经过A点的时候都会按照进入车站的先后顺序从1开始被编号。右图为5节车厢从A点进入站台时的情况(箭头表示火车的行驶方向)。设A点和B点与站台间的距离还有站台的容量足够大,并且每节车厢能独立运行。你的任务就是编写一个程序判断列车实际上的出站顺序是否能满足给出的顺序。如果能,输出“Yes”,否则输出“No”(不含引号),每次输出占一行。
代码如下:
#include<stdio.h>int n;int a[1000000];int b[1000000];int c[1000000];void panduan(int);int main (void){ int i; while(scanf("%d",&n)!=EOF) { for(i=1;i<=n;i++) { a[i]=i; } for( i=1;i<=n;i++) { scanf("%d",&b[i]); } panduan(n); } return 0;}void panduan(int n){ int top=0; int aflag=1; int bflag=1; for(int i=0;i<n;i++) { c[++top]=a[aflag++]; while(top>0&&c[top]==b[bflag]) { bflag++; top--; } } if(top!=0) { printf("No\n"); } else { printf("Yes\n"); }}
0 0
- 古老的火车问题
- 两个古老问题的递归算法。
- ctfIDF实验室古老的邮件编码问题
- 古老的CSS同高列问题
- 字节对齐问题----一个很古老的基础问题
- 关于中国古老的一个问题,百钱百鸡问题
- 火车调度问题的回溯法解决
- 栈的思想解决火车出站问题
- 由火车进站引出的问题
- 火车进站问题,堆栈的使用
- 一道古老的智力题——奇怪的问题
- 奇怪的问题——来源:古老的智力题
- 一道古老的数学题
- 古老的歌
- 古老剑桥的校规
- 古老的祝福
- 一道古老的智力题
- 古老的幸福
- yarn
- Redis秒杀系统的架构设计
- import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.TreeMap; /*
- angularJS2 变量声明 var let const
- 接口
- 古老的火车问题
- iOS——新特性界面的展示方法
- 模态框遮罩层,兼容IE
- oauth
- DNS的作用
- 快速搭建SSM框架WEB项目 Spring+SpringMVC+Mybatis+MySQL
- solr 6.3.0 使用
- Java并发编程规则:构建封闭的线程限制
- 如何运用LoadRunner进行http接口测试