水题,主要是思路清晰,判断明确。

记x为A站最前方的车,y表示下一列要进入B站的车厢,初识时,x=1;y=a1;C=[];

在调度过程中:

if(y==0)那么调度成功,退出模拟过程;否则

if(x==y)就是说接下来进站的正好是要出去的,那就直接让它A—>B 否则

if(C不空 && y=(最后进入C的火车)) 让车从C开出进入B  否则

if(x!=0)那么车 A—>C 否则  无解

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stack>
using namespace std;
;
stack <int> C;
int n,a,b,x,y;
int A[maxn],B[maxn];
int main(){
    while(scanf("%d",&n)&& n){
        memset(B,,sizeof(B));
        memset(A,,sizeof(A));
        ])&&B[]){
            ;i<n;i++)scanf("%d",&B[i]);
            ;i<n;i++)A[i]=i+;
            a=;b=;y=B[b];x=A[a];
            while(!C.empty())C.pop();
            while(true){
                ){//over
                    printf("Yes\n");
                    break;
                }else{
                    if(x==y){//A-->B
                        x=A[++a];
                        y=B[++b];
                    }else{
                        if(!C.empty()&&y==C.top()){//C-->B
                            y=B[++b];
                            C.pop();
                        }else{
                            ){//A-->C
                                C.push(x);
                                x=A[++a];
                            }else{
                                printf("No\n");
                                break;
                            }
                        }
                    }
                }
            }

        }
    printf("\n");
    }
    ;
}

POJ 1036 Rails 模拟堆栈的更多相关文章

  1. 数据结构(3):java使用数组模拟堆栈

    堆栈原理: 数组模拟堆栈: //数组模拟栈 class ArrayStack{ //栈顶 private int top = -1; private int maxSize; private int[ ...

  2. poj 1363 Rails in PopPush City &&【求堆栈中合法出栈顺序次数】

    问题如下: 问题 B: Rails 时间限制: Sec 内存限制: MB 提交: 解决: [提交][状态][讨论版] 题目描述 There is a famous railway station in ...

  3. python列表模拟堆栈和队列

    对列特点:先进先出.后进后出 用列表insert.pop模拟进队出队: >>> l = [] >>> l.insert(0,'p1') >>> l ...

  4. poj 1363 Rails 解题报告

    题目链接:http://poj.org/problem?id=1363 题意:有一列火车,车厢编号为1-n,从A方向进站,向B方向出站.现在进站顺序确定,给出一个出站的顺序,判断出站顺序是否合理. 实 ...

  5. OpenJudg / Poj 1363 Rails

    1.链接: http://poj.org/problem?id=1363 http://bailian.openjudge.cn/practice/1363 2.题目: Rails Time Limi ...

  6. poj 1036 Gangsters

    http://poj.org/problem?id=1036 题意:N个土匪,伸缩门的范围是K, 时间T, 伸缩门在[0, k]范围内变动,每个单位时间可以不变伸长或者缩短一个单位.给出每个最烦到达的 ...

  7. POJ 1363 Rails(栈)

    题目代号:POJ 1363 题目链接:http://poj.org/problem?id=1363 题目原题: Rails Time Limit: 1000MS   Memory Limit: 100 ...

  8. poj 3077Rounders(模拟)

    转载请注明出处:viewmode=contents">http://blog.csdn.net/u012860063? viewmode=contents 题目链接:http://po ...

  9. POJ 1363 Rails

    Rails Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 21728   Accepted: 8703 Descriptio ...

随机推荐

  1. shell命令行快速编辑命令

    ctrl r:命令行出现 reverse-i-search,输入字符将在输入历史中匹配命令 ctrl p:向前翻看历史 ctrl n:向后翻看历史 ctrl a:命令行首 ctrl e:命令行尾 ct ...

  2. [java学习笔记]java语言基础概述之数组的定义&常见操作(遍历、排序、查找)&二维数组

    1.数组基础 1.什么是数组:           同一类型数据的集合,就是一个容器. 2.数组的好处:           可以自动为数组中的元素从零开始编号,方便操作这些数据. 3.格式:  (一 ...

  3. linux 运维知识体系

    这里将会介绍一下,LINUX运维工程师的知识体系. 只能说是个人理解吧.并不是必要或者充分的,仅供网友参考. 大部分本博客都有涉及,并不完整. 1.LINUX运维基础 1.1.LINUX系统的简介,分 ...

  4. Nodejs微信接口

    代码重要部分都已详细注释,test.js为实例,如果启动url请求,那么程序默认对json格式数据友好,如果有特殊需要,请自行修改返回数据的处理格式 大概功能简介为下: this._token 提供t ...

  5. 解决flash挡住层的问题

    让div在flash上面 设置flash为透明: 插件代码换成如下: <object type="application/x-shockwave-flash" data=&q ...

  6. 【Qt】Qt Creator键盘快捷键速查

    附录 Qt Creator键盘快捷键速查 一般操作的键盘快捷键 操作 快捷键 操作 快捷键 打开文件或项目 Ctrl+O 新建文件或项目 Ctrl+N 在外部编辑器中打开 Alt+V,Alt+I 选择 ...

  7. 使用CSS修改HTML5 input placeholder颜色( 转载 )

    问题:Chrome支持input=[type=text]占位文本属性,但下列CSS样式却不起作用: input[placeholder], [placeholder], *[placeholder] ...

  8. nodejs npm install全局安装和本地安装的区别

    npm的包安装分为本地安装(local).全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如:代码如下:复制代码npm install # 本地安装npm install - ...

  9. MIT 2012 分布式课程基础源码解析-底层通讯实现

    本节内容和前节事件管理封装是息息相关的,本节内容主要包含的代码在connection{.h, .cc}中. 这里面最主要的有两个类:connection类和tcpsconn类,connetion类主要 ...

  10. SPI协议及其工作原理详解

    一.概述. SPI, Serial Perripheral Interface, 串行外围设备接口, 是 Motorola 公司推出的一种同步串行接口技术. SPI 总线在物理上是通过接在外围设备微控 ...