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

题目大意:
A站有编号为1到N,N最大1000,的车厢,车厢进入中转station了就不能回到A,只能停在station内或者进入B站,问能不能按照给定的顺序排成那样的车厢号。

解题:
每次一个新车厢进入station前,检查栈内栈顶元素是否与B站没有匹配的车厢头是否相等(如果有,则弹栈,重复此步骤),没有匹配的直接入栈。最后栈为空则可以排成给定次序。

举个例子:(2,1,3,5,4)能不能排成这样











AC代码如下:

#include <stack>
#include <iostream>
#define N 1001
using namespace std;
int main()
{int Barr[N], i = 0, j = 0, len;while(cin >> len && len)    //输入火车长度{while (1){stack<int> station;for(i = 0; i < len; ++i)    //输入火车B站的车厢顺序{cin >> Barr[i]; if(Barr[0] == 0)    //第一个车厢是0,结束break;}if(Barr[0] == 0)    //第一个车厢是0,结束{break;}for(i = 1, j = 0; i <= len; ++i)    //对1-N的车厢进行操作{while(!station.empty() && station.top() == Barr[j]) //中转站(栈)不为空则,比较栈顶与B的车厢的号码{station.pop();  //相等的话,车厢出栈j++;    //可以比较下一个车厢号码了}station.push(i);    //栈为空或者栈顶车厢号与要求的不等,则直接把A站的车压入栈内}while(!station.empty() && station.top() == Barr[j]) //当1-N都压栈完了,栈内还有车厢的话,顺次和栈顶比较{station.pop();j++;}if(station.empty()) //最后栈内为空则,可以匹配要求的顺序cout << "Yes" << endl;elsecout << "No" << endl;}cout << endl;}return 0;
}

POJ 1363 火车厢排队问题(栈)相关推荐

  1. 分布式系统的冰与火与技术栈

    最近在极客时间看到一个课程叫<左耳听风>,第一反应是叫这个名字,太不突出重点了,能好卖吗.但当了解作者后,发现是我错了.作者好牛比啊.所以要感受下骨灰级程序员的魅力.先从分布式系统入手学习 ...

  2. java队列火车厢重排_火车车厢重排问题

    1 #include 2 #include 3 usingstd::stack;4 usingstd::cin;5 usingstd::cout;6 7 const int MAX = 100; // ...

  3. java队列火车厢重排_火车车厢重排问题--队列模拟

    ①问题描述 一列货运列车共有n节车厢,每节车厢将停放在不同的车站.假定n个车站的编号分别为1-n,即货运列车按照第n站至第1站的次序经过这些车站.为了便于从列车上卸掉相应的车厢,车厢的编号应与车站的编 ...

  4. POJ 2106-Boolean Expressions,双栈运用类似表达式求值!

    Boolean Expressions 首先声明此题后台可能极水(毕竟这种数据不好造!).昨天写了一天却总是找不到bug,讨论区各种数据都过了,甚至怀疑输入有问题,但看到gets也可以过,难道是思路错 ...

  5. POJ 3415 后缀数组+单调栈

    题目大意: 给定A,B两种字符串,问他们当中的长度大于k的公共子串的个数有多少个 这道题目本身理解不难,将两个字符串合并后求出它的后缀数组 然后利用后缀数组求解答案 这里一开始看题解说要用栈的思想,觉 ...

  6. 【SSL 2882】[POJ 3250]排队【单调栈模板】

    排队 Time Limit:10000MS Memory Limit:65536K Case Time Limit:1000MS Description n个人排成一条直线(一排),给出队伍中每个人的 ...

  7. 2020淘宝618开火车任务(包括火车厢任务)和芭芭农场种树任务

    代码是根据论坛大神的源码修改的!感谢各位大神无私奉献 2020淘宝618开火车任务和芭芭农场种树任务 autojs下载链接:https://pan.baidu.com/s/1Xu3mXPulSKmkn ...

  8. java队列火车厢重排_火车车厢重排(链队列)

    1.题目: Problem Description 一列货运列车共有n节车厢,每节车厢将停放在不同的车站.假定n个车站的编号分别为1~n,即货运列车按照第n站至第1站的次序经过这些车站.为了便于从列车 ...

  9. java队列火车厢重排_火车车厢重排——队列实现

    其实队列和栈挺像的,所以也就没有单独写一个实现队列的笔记,可以参考一下栈的实现:https://www.cnblogs.com/2015-16/p/12957964.html    (同时这一篇也包含 ...

最新文章

  1. 李宏毅机器学习自己的笔记(一)----------Introduction of MachineLearning
  2. 去掉字符串左右的空格
  3. 分支和循环_月隐学python第5课
  4. upload_labs_pass18_条件竞争
  5. linux c c 常用的日志库,mslog: 一款超轻量级的C日志库,无需依赖额外的库,测试或移植过的系统有Linux(ubuntu,centos),Windows以及部分嵌入式设备;...
  6. 编程竞赛控制系统(PC2)使用说明书
  7. 全屏显示一个图片文件
  8. 如何获得Android手机的软件安装列表
  9. stagefright与opencore对比
  10. 关于SM2加密验签的操作
  11. 质造未来,首届腾讯WeTest技术交流开放日成功举办
  12. 百度网盘 linux 上传文件大小限制,Linux 下载百度网盘大文件的方法
  13. 全球最大湾区|微信大数据:《粤港澳大湾区智慧生活圈报告》
  14. 自签名证书的安装(二)
  15. 自动清理源计算机设备驱动,win10系统删除过期驱动程序设备的设置技巧
  16. 开源商城WSTMart升级thinkphp5.1框架实践
  17. vue2响应式通过数组下标赋值响应式问题
  18. python+Django的web开发实例
  19. 富士康计算机类笔试题,富士康笔试题目及答案
  20. 蚂蚁金服 g6 用法

热门文章

  1. iOS 抓包工具 charles工具
  2. Linker command failed with exit code 1(use -v to see invocation)
  3. java汉字转化accic_Java自主学习贴
  4. java添加按钮点击事件_如何为odoo 10中的按钮点击事件添加一个java脚本处理程序?...
  5. 数据链路层:ARP协议详解(绝对经典)
  6. 显示日期的指令: date
  7. POJ - 2385 Apple Catching (dp)
  8. 2015/4/14课堂练习
  9. Autodesk云计算系列视频 --- 云计算与Civil 3D
  10. 几个ubuntu16.04镜像下载地址