UVa514 Rails (栈)
题意:一列有n节车厢的火车按顺序进站,给你一个出站顺序,问你该火车的车厢能否以该顺序出站?
分析:出站的车厢满足后进先出的关系,所以我们考虑采用栈s
假设车厢一共有n节,n = 5;
进站顺序A:1 2 3 4 5
出站顺序B/target: 2 3 4 5 1
如果进站的车厢没有立马出站,则将该车厢入栈s.push(A++)
判断栈里面车厢的顺序是否和出站顺序一致 s.top()== target[B]
#include<cstdio>
#include<stack>
using namespace std;
int main()
{
int n,target[];
stack<int>s;
while(~scanf("%d",&n)&&n)
{
while(){
int flag = ;
for(int i=;i<=n;i++)
{
scanf("%d",&target[i]);
if(target[i] == )
{
flag = -;
break;
}
}
if(flag == -)
{
printf("\n");
break;
}
int A=,B=;
while(B <= n)
{
if(A == target[B]){A++;B++;}
else if(!s.empty()&&s.top()==target[B]){B++;s.pop();}
else if(A <= n) s.push(A++);
else {flag =-; break;}
}
if(flag == -)
printf("No\n");
else
printf("Yes\n");
}
}
return ;
}
UVa514 Rails (栈)的更多相关文章
- UVA-514 Rails (栈)
		Rails There is a famous railway station in PopPush City. Country there is incredibly hilly. The s ... 
- E - Rails (栈)
		E - Rails Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Description The ... 
- POJ 1363 Rails(栈)
		思路:将出车站的顺序存入数组train,由于入车站的顺序是固定的,为1~N,所以用P表示进站的车,初始为1. 接下来举例说明吧: 原来入站顺序: 1 2 3 4 5 读入的出战顺序: 3 4 2 ... 
- UVA514 Rails
		铁轨 PopPush城市有一座著名的火车站.这个国家到处都是丘陵.而这个火车站是建于上一个世纪.不幸的是,那时的资金有限.所以只能建立起一条路面铁轨.而且,这导致这个火车站在同一个时刻只能一个轨道投 ... 
- 6_2 铁轨(UVa514)<栈>
		在一个叫「堆叠市」的城市中有一个有名的火车站.由于地形限制以及经费的关系,火车站及唯一的铁路的样子如下图: 现在火车从A方向来,预定从B方向离开.火车共有N节车厢(N <=1000),并且各车厢 ... 
- 【UVa-514】铁轨——栈的学习
		UVa514 Rails(铁轨) 题目:铁轨 题目链接: UVa514链接 题目描述: 某城市有一个火车站,有n节车厢从A方向驶入车站,按进站的顺序编号为1-n.你的任务是判断是否能让它们按照某种特定 ... 
- Rails 5 Test Prescriptions  第3章Test-Driven Rails
		本章,你将扩大你的模型测试,测试整个Rails栈的逻辑(从请求到回复,使用端到端测试). 使用Capybara来帮助写end-to-end 测试. 好的测试风格,包括端到端测试,大量目标明确的单元测试 ... 
- SDWC补题计划
		2018的寒假去了SD的冬令营,因为一班二班难度悬殊,对我很不友好,几乎什么也没学会,但是我把两个班的课件都存了下来,现在慢慢把两个班的例题以及课后题都补一补(毕竟冬令营的钱不能白花). 这些题目横跨 ... 
- poj 1363 Rails in PopPush City &&【求堆栈中合法出栈顺序次数】
		问题如下: 问题 B: Rails 时间限制: Sec 内存限制: MB 提交: 解决: [提交][状态][讨论版] 题目描述 There is a famous railway station in ... 
随机推荐
- c语言题库---- 函数
			---恢复内容开始--- 1.编写一个函数,功能为返回两个int类型参数的最大的值 #include <stdio.h>int FindMax( int a, int b); int ma ... 
- Xshell5一打开就提示要使用该程序,请更新至最新版本
			网上有两种方法 方法一:临时 修改系统时间,修改为一年前的时间即可.但是你会发现修改回当前时间后,xshell又打不开了 方法二:替换xshell文件 找到xshell安装位置,如果是快捷方式,可以右 ... 
- delphi Parallel 之 TTask 初试
			unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System ... 
- http://blog.csdn.net/u012905422/article/details/53340260
			轉自:http://blog.csdn.net/u012905422/article/details/53340260 对于python2.7版本,很多教程(如http://stackoverflow ... 
- centos7配置iscsi
			什么是ISCSI iscsi--internet small computer system interface互联小型计算机系统接口,将数据包封装在TCP/IP协议中传输,使用普通网线和网络设备即可 ... 
- FPGA例化ROM存储表格
			FPGA例化ROM存储表格 1.选择ROM 2.填写数据位宽和深度 3.加载ROM初始化信息,coe文件 
- 基于springboot+bootstrap+mysql+redis搭建一套完整的权限架构【六】【引入bootstrap前端框架】
			https://blog.csdn.net/linzhefeng89/article/details/78752658 基于springboot+bootstrap+mysql+redis搭建一套完整 ... 
- python3-基础1
			eval() --- 返回表达式计算结果 实际上就是把括号中的命令提取出来执行一遍. eval("print('ok')") ok 可变类型: 在ID不变的情况下,value可变 ... 
- 黄聪:PHP获取某一天前后任意时间
			date("Y-m-d",strtotime('-30 days',strtotime('2016-9-30'))); 
- 工控随笔_19_西门子_WinCC的VBS脚本_08_常量和流程控制_01
			在编程的过程中,有时候我们会使用一些固定的值,例如圆周率,或者某个人的生日,或者家庭住址等等, 这些信息对于一个对象来说一旦确定就不会改变,因此我们在编程的时候也不希望这些信息会改变,在VBS里面 也 ... 
