1.链接:

http://poj.org/problem?id=1363

http://bailian.openjudge.cn/practice/1363

2.题目:

Rails
Time Limit: 1000MS   Memory Limit: 10000K
Total Submissions: 24612   Accepted: 9644

Description

There is a famous railway station in PopPush City. Country there is incredibly hilly. The station was built in last century. Unfortunately, funds were extremely limited that time. It was possible to establish only a surface track. Moreover, it turned out that the station could be only a dead-end one (see picture) and due to lack of available space it could have only one track.


The local tradition is that every train arriving from the direction A
continues in the direction B with coaches reorganized in some way.
Assume that the train arriving from the direction A has N <= 1000
coaches numbered in increasing order 1, 2, ..., N. The chief for train
reorganizations must know whether it is possible to marshal coaches
continuing in the direction B so that their order will be a1, a2, ...,
aN. Help him and write a program that decides whether it is possible to
get the required order of coaches. You can assume that single coaches
can be disconnected from the train before they enter the station and
that they can move themselves until they are on the track in the
direction B. You can also suppose that at any time there can be located
as many coaches as necessary in the station. But once a coach has
entered the station it cannot return to the track in the direction A and
also once it has left the station in the direction B it cannot return
back to the station.

Input

The
input consists of blocks of lines. Each block except the last describes
one train and possibly more requirements for its reorganization. In the
first line of the block there is the integer N described above. In each
of the next lines of the block there is a permutation of 1, 2, ..., N.
The last line of the block contains just 0.

The last block consists of just one line containing 0.

Output

The
output contains the lines corresponding to the lines with permutations
in the input. A line of the output contains Yes if it is possible to
marshal the coaches in the order required on the corresponding line of
the input. Otherwise it contains No. In addition, there is one empty
line after the lines corresponding to one block of the input. There is
no line in the output corresponding to the last ``null'' block of the
input.

Sample Input

5
1 2 3 4 5
5 4 1 2 3
0
6
6 5 4 3 2 1
0
0

Sample Output

Yes
No Yes

Source

3.思路:

4.代码:

 #include "stdio.h"
//#include "stdlib.h"
#include "stack"
using namespace std;
int main()
{
stack<int> s;
int n,i,j,tmp,top;
bool flag;
scanf("%d",&n);
while(n!=)
{
scanf("%d",&tmp);
while(tmp != )
{
flag = true;
//top = tmp-1;
while(!s.empty()) s.pop();
for(i = ;i < tmp;i++) s.push(i);
top = tmp;
for(i = ;i < n;i++)
{
scanf("%d",&tmp);
if(flag)
{
//if(top < tmp) top = tmp - 1;
if(top < tmp) {for(j = top+;j<tmp;j++){s.push(j);}top=tmp;}
//else if(top == tmp) top--;
else if(s.top() == tmp) s.pop();
else flag = false;
}
}
if(!flag) printf("No\n");
else printf("Yes\n");
scanf("%d",&tmp);
}
scanf("%d",&n);
while(!s.empty()) s.pop();
if(n != ) printf("\n");
} //system("pause");
return ;
}

OpenJudg / Poj 1363 Rails的更多相关文章

  1. POJ 1363 Rails(栈)

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

  2. poj 1363 Rails 解题报告

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

  3. POJ 1363 Rails

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

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

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

  5. poj 1363 Rails (【栈的应用】 刘汝佳的写法 *学习)

    Rails Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 25964   Accepted: 10199 Descripti ...

  6. POJ 1363 Rails(栈)

    思路:将出车站的顺序存入数组train,由于入车站的顺序是固定的,为1~N,所以用P表示进站的车,初始为1. 接下来举例说明吧: 原来入站顺序:    1 2 3 4 5 读入的出战顺序: 3 4 2 ...

  7. poj 1363

    这是一道数据结构的问题,用到了栈的知识.题目大意讲的是每一次有N辆车从A到B,但是要将车辆的顺序重新排列,可以通过中转站C来辅助排列,但是C符合先进后出的原则,这一点和栈的特性相同. 整个重新排序的过 ...

  8. POJ 1036 Rails 模拟堆栈

    水题,主要是思路清晰,判断明确. 记x为A站最前方的车,y表示下一列要进入B站的车厢,初识时,x=1;y=a1;C=[]; 在调度过程中: if(y==0)那么调度成功,退出模拟过程:否则 if(x= ...

  9. 【栈】 poj 1363

    poj1363,这道题是数据结构与算法中的经典问题,给定一组进栈顺序,问栈有多少种出去的顺序. #include<stdio.h> #include <stack> #incl ...

随机推荐

  1. 数组和集合List的相互转化

    一.数组转为List 调用Arrays类的静态方法asList static void convertArray2List() { String[] strs = new String[]{" ...

  2. eclipse项目导入到Android Studio Plugin with id 'android-library' not found

    在主项目的build.gradle 中加入以下代码buildscript { repositories { mavenCentral() } dependencies { classpath 'com ...

  3. ant中调用外部ant任务的两种方法

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  4. linux和windows文件名称长度限制

    Linux文件名称的长度限制是255个字符 windows下全然限定文件名称必须少于260个字符,文件夹名必须小于248个字符. linux下文件数.文件夹数.文件名称长度的各种限制 下面測试都是在没 ...

  5. 【49】了解new_handler的行为

    1.使用operator new无法获取内存时,对于旧式编译器,会返回一个null指针.对于新式编译器,会抛出一个异常. 2.考虑下面的需求,当operator new 无法获取内存时,程序员期望获得 ...

  6. 计算机思维or人的思维

    计算机领域就会有计算机领域的一些特性和一些思维方式,或者说有他自己的一些问题,须要用相应的思维方式来进行理解它,从而更好的驾驭他.有些时候遇到的一些问题,自己想却想不明确,也是由于我们没有把自己当做一 ...

  7. [Open Projects Series] ViewPagerTransforms

    https://github.com/jfeinstein10/JazzyViewPager https://github.com/ToxicBakery/ViewPagerTransforms

  8. Mini2440 DM9000 驱动分析(一)

    Mini2440 DM9000 驱动分析(一) 硬件特性 Mini2440开发板上DM9000的电气连接和Mach-mini2440.c文件的关系: PW_RST 连接到复位按键,复位按键按下,低电平 ...

  9. iOS 开发中你是否遇到这些经验问题(一)

    前言 小伙伴们在开发中难免会遇到问题, 你是如何解决问题的?不妨也分享给大家!如果此文章其中的任何一条问题对大家有帮助,那么它的存在是有意义的! 反正不管怎样遇到问题就要去解决问题, 在解决问题的同时 ...

  10. 检测 NSObject 对象持有的强指针

    在上一篇文章中介绍了 FBRetainCycleDetector 的基本工作原理,这一篇文章中我们开始分析它是如何从每一个对象中获得它持有的强指针的. 如果没有看第一篇文章这里还是最好看一下,了解一下 ...