POJ 1363 火车厢排队问题(栈)
题目链接: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 火车厢排队问题(栈)相关推荐
- 分布式系统的冰与火与技术栈
最近在极客时间看到一个课程叫<左耳听风>,第一反应是叫这个名字,太不突出重点了,能好卖吗.但当了解作者后,发现是我错了.作者好牛比啊.所以要感受下骨灰级程序员的魅力.先从分布式系统入手学习 ...
- java队列火车厢重排_火车车厢重排问题
1 #include 2 #include 3 usingstd::stack;4 usingstd::cin;5 usingstd::cout;6 7 const int MAX = 100; // ...
- java队列火车厢重排_火车车厢重排问题--队列模拟
①问题描述 一列货运列车共有n节车厢,每节车厢将停放在不同的车站.假定n个车站的编号分别为1-n,即货运列车按照第n站至第1站的次序经过这些车站.为了便于从列车上卸掉相应的车厢,车厢的编号应与车站的编 ...
- POJ 2106-Boolean Expressions,双栈运用类似表达式求值!
Boolean Expressions 首先声明此题后台可能极水(毕竟这种数据不好造!).昨天写了一天却总是找不到bug,讨论区各种数据都过了,甚至怀疑输入有问题,但看到gets也可以过,难道是思路错 ...
- POJ 3415 后缀数组+单调栈
题目大意: 给定A,B两种字符串,问他们当中的长度大于k的公共子串的个数有多少个 这道题目本身理解不难,将两个字符串合并后求出它的后缀数组 然后利用后缀数组求解答案 这里一开始看题解说要用栈的思想,觉 ...
- 【SSL 2882】[POJ 3250]排队【单调栈模板】
排队 Time Limit:10000MS Memory Limit:65536K Case Time Limit:1000MS Description n个人排成一条直线(一排),给出队伍中每个人的 ...
- 2020淘宝618开火车任务(包括火车厢任务)和芭芭农场种树任务
代码是根据论坛大神的源码修改的!感谢各位大神无私奉献 2020淘宝618开火车任务和芭芭农场种树任务 autojs下载链接:https://pan.baidu.com/s/1Xu3mXPulSKmkn ...
- java队列火车厢重排_火车车厢重排(链队列)
1.题目: Problem Description 一列货运列车共有n节车厢,每节车厢将停放在不同的车站.假定n个车站的编号分别为1~n,即货运列车按照第n站至第1站的次序经过这些车站.为了便于从列车 ...
- java队列火车厢重排_火车车厢重排——队列实现
其实队列和栈挺像的,所以也就没有单独写一个实现队列的笔记,可以参考一下栈的实现:https://www.cnblogs.com/2015-16/p/12957964.html (同时这一篇也包含 ...
最新文章
- 李宏毅机器学习自己的笔记(一)----------Introduction of MachineLearning
- 去掉字符串左右的空格
- 分支和循环_月隐学python第5课
- upload_labs_pass18_条件竞争
- linux c c 常用的日志库,mslog: 一款超轻量级的C日志库,无需依赖额外的库,测试或移植过的系统有Linux(ubuntu,centos),Windows以及部分嵌入式设备;...
- 编程竞赛控制系统(PC2)使用说明书
- 全屏显示一个图片文件
- 如何获得Android手机的软件安装列表
- stagefright与opencore对比
- 关于SM2加密验签的操作
- 质造未来,首届腾讯WeTest技术交流开放日成功举办
- 百度网盘 linux 上传文件大小限制,Linux 下载百度网盘大文件的方法
- 全球最大湾区|微信大数据:《粤港澳大湾区智慧生活圈报告》
- 自签名证书的安装(二)
- 自动清理源计算机设备驱动,win10系统删除过期驱动程序设备的设置技巧
- 开源商城WSTMart升级thinkphp5.1框架实践
- vue2响应式通过数组下标赋值响应式问题
- python+Django的web开发实例
- 富士康计算机类笔试题,富士康笔试题目及答案
- 蚂蚁金服 g6 用法
热门文章
- iOS 抓包工具 charles工具
- Linker command failed with exit code 1(use -v to see invocation)
- java汉字转化accic_Java自主学习贴
- java添加按钮点击事件_如何为odoo 10中的按钮点击事件添加一个java脚本处理程序?...
- 数据链路层:ARP协议详解(绝对经典)
- 显示日期的指令: date
- POJ - 2385 Apple Catching (dp)
- 2015/4/14课堂练习
- Autodesk云计算系列视频 --- 云计算与Civil 3D
- 几个ubuntu16.04镜像下载地址