题目链接:http://poj.org/problem?id=1363

题意:有一列火车,车厢编号为1~n,从A方向进站,向B方向出站。现在进站顺序确定,给出一个出站的顺序,判断出站顺序是否合理。

实际上是模拟栈的过程,而栈的特点是先进后出。另外一个麻烦的地方就是输入输出格式问题。

本题实现提供两种方法:没有用到STL栈和有用到STL栈

 #include <iostream>      // 法二:头文件多包含一个 #include <stack>
using namespace std; const int maxn = + ; int main()
{
int A, B, i, n, top, target[maxn], stack[maxn]; // 法二:数组stack去掉, 变成 stack<int> s
while (scanf("%d", &n) && n)
{
while ()
{
int flag = ;
for (i = ; i <= n; i++)
{
scanf("%d", &target[i]);
if (target[] == )
{
flag = ;
break;
}
}
if (!flag)
{
printf("\n");
break;
}
int ok = ;
A = B = ;
top = ;
while (B <= n)
{
if (A == target[B]) // 处理1~n的特殊情况
{
A++, B++;
}
else if (top && stack[top] == target[B]) // top && !s.empty() && s.top() == target[B] 出栈
{
top--; // s.pop();
B++;
}
else if (A <= n)
{
stack[++top] = A; // s.push(A); 进栈
A++;
}
else
{
ok = ;
break;
}
}
if (ok)
printf("Yes\n");
else
printf("No\n");
}
}
return ;
}

poj 1363 Rails 解题报告的更多相关文章

  1. POJ 2002 Squares 解题报告(哈希 开放寻址 & 链式)

    经典好题. 题意是要我们找出所有的正方形.1000点,只有枚举咯. 如图,如果我们知道了正方形A,B的坐标,便可以推测出C,D两点的坐标.反之,遍历所有点作为A,B点,看C,D点是否存在.存在的话正方 ...

  2. POJ 1363 Rails(栈)

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

  3. OpenJudg / Poj 1363 Rails

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

  4. 【原创】poj ----- 1182 食物链 解题报告

    题目地址: http://poj.org/problem?id=1182 题目内容: 食物链 Time Limit: 1000MS   Memory Limit: 10000K Total Submi ...

  5. poj 2051.Argus 解题报告

    题目链接:http://poj.org/problem?id=2051 题目意思:题目有点难理解,所以结合这幅图来说吧---- 有一个叫Argus的系统,该系统支持一个 Register 命令,输入就 ...

  6. poj 1102.LC-Display 解题报告

    题目链接:http://poj.org/problem?id=1102 题目意思:就是根据给出的格式 s 和 数字 n,输出数值 n 的 LCD 显示.数值 n 的每个数字要占据 s + 2 列 和 ...

  7. POJ 1363 Rails

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

  8. POJ 1840 Eps 解题报告(哈希)

    a1x13+ a2x23+ a3x33+ a4x43+ a5x53=0,xi∈[-50,50],且xi!=0.让我们求所有解的可能. 首先,如果暴力判断的话,每个x的取值有100种可能,100^5肯定 ...

  9. POJ 3159 Candies 解题报告(差分约束 Dijkstra+优先队列 SPFA+栈)

    原题地址:http://poj.org/problem?id=3159 题意大概是班长发糖果,班里面有不良风气,A希望B的糖果不比自己多C个.班长要满足小朋友的需求,而且要让自己的糖果比snoopy的 ...

随机推荐

  1. BIEE 后台新建分析没有你创建的数据源

    (1)登录http://win-5rnnibkasrt:9704/analytics/saw.dll?bieehome  点击“管理” 找到“发出SQL语句”在里面写call sapurgeallca ...

  2. POJ1011 Sticks

    Description George took sticks of the same length and cut them randomly until all parts became at mo ...

  3. windows进程/线程创建过程 --- windows操作系统学习

    有了之前的对进程和线程对象的学习的铺垫后,我们现在可以开始学习windows下的进程创建过程了,我将尝试着从源代码的层次来分析在windows下创建一个进程都要涉及到哪些步骤,都要涉及到哪些数据结构. ...

  4. java订电影票系统

    public class Test { public static void main(String[] args) { BookTicket bookTicket = new BookTicket( ...

  5. 数组实现栈的结构(java)

    自定义数组实现栈的结构. package test; public class MyArrayStackClient { public static void main(String[] args) ...

  6. IOS基础之 (四) OC对象

    一 建立一个OC的类 完整的写一个函数:需要函数的声明和定义. 完整的写一个类:需要类的声明和实现. 1.类的声明 声明对象的属性和行为 #import <Foundation/Foundati ...

  7. 优秀大数据GitHub项目一览

    http://blog.csdn.net/yaoxtao/article/details/50540485 优秀大数据GitHub项目一览 VMware CEO Pat Gelsinger曾说: 数据 ...

  8. tomcat管理页面用户角色、用户名、用户密码的配置

    参考资料:http://www.365mini.com/page/tomcat-manager-user-configuration.htm 编辑tomcat/conf/tomcat-users.xm ...

  9. hdu 1201 18岁生日

    #include <stdio.h> int r(int y) { return (y%4==0&&y%100!=0)||(y%400==0); } int f(int y ...

  10. TASKKILL命令使用大全

    Mr.Savin Mr.Savin 2009-08-07 183315TASKKILL [S system [U username [P [password]] { [FI filter] [PID ...