UVA - 514 Rails(栈)

delphi栈队列操作 delphi栈队列操作 delphi栈队列操作 delphi栈队列操作 立即下载

Description

Download as PDF

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.


\begin{picture}(6774,3429)(0,-10)\put(1789.500,1357.500){\arc{3645.278}{4.7247}......tFigFont{14}{16.8}{\rmdefault}{\mddefault}{\updefault}Station}}}}}\end{picture}

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 \leŸ 1000$ coaches numbered in increasing order$1, 2, \dots, 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 $a_1. a_2, \dots, a_N$. 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 file 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, \dots, N$ The last line of the block contains just 0.

The last block consists of just one line containing 0.

Output 

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

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


题解:利用stack的特性LIFO,判断给出的队列是否等于出队序列相同


#include <iostream>
#include <cstdio>
#include <stack>
using namespace std;
int var[1010];
int n;
int main(){
    while(cin>>n && n){
        while(cin>>var[1] && var[1]!=0){
            for(int i = 2; i <= n; i++)scanf("%d",&var[i]);
            int a = 1,b = 1;
            stack<int> s;bool ok = true;
            while(b <= n){
                if(a == var[b]){a++,b++;}
                else if(!s.empty() && s.top() == var[b]){s.pop();b++;}
                else if(a <= n){s.push(a++);}
                else {ok = false;break;}
            }
            printf("%s\n",ok?"Yes":"No");
        }
        cout<<endl;
    }
    return 0;
}

队列与栈的算法 关于队列与栈的各种算法,其中包括,用两个栈实现一个队列,用两个队列实现一个栈 立即下载

相关推荐

告别PXE!用iPXE在CentOS 8.5上搭建一个能同时装Win11和Linux的万能网络启动盘

本文详细介绍了如何在CentOS 8.5上使用iPXE搭建支持Windows 11和Linux双系统部署的全能网络启动盘。通过对比传统PXE的局限性,展示了iPXE在HTTP协议支持、多架构适配和智能脚本方面的优势,提供从环境准备、服务配置到智能菜单开发的完整解决方案,显著提升系统部署效率。

weixin_29278805的博客 265

算法设计与分析: 5-25 双轨车皮编序问题

5-25 双轨车皮编序问题 问题描述 在一个列车调度站中,2 条轨道连接到 2 条侧轨处,形成 2 个铁路转轨栈。其中左边轨道为车皮入口,编号为 A;右边轨道为出口,编号为 D,2 个铁路转轨栈分别编号为 C 和 D, 如下图所示。编号为 a,b,…,的 n 个车皮依序停放在车皮入口处。调度室要安排各车皮 进出栈次序,使得在出口处各车皮按照预先指定的顺序依次出站。车皮移动时只能按照从左...

d3y1`5 81_09 1019

MATLAB锂离子电池伪二维(P2D)模型实现

锂离子电池伪二维(P2D)模型的MATLAB实现。该模型基于Newman等人提出的经典电化学模型,考虑了固液相扩散、电荷守恒和电化学反应动力学。

hie98894的博客 1928

数据结构-栈(C语言代码)

栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。 #include <stdio.h> #include <stdlib.h> typedef struct Node { int data; struct.

weixin_50246370的博客 5997

STC8单片机低功耗延时优化实践:从循环等待到定时唤醒

本文深入探讨了STC8单片机低功耗延时优化的核心方法,即利用掉电唤醒定时器(WKT)替代传统的循环等待,实现从“空转耗电”到“定时唤醒”的转变。通过实战代码演示了如何编写低功耗延时函数,将待机电流从mA级降至μA级,并分析了精度、唤醒时间等关键权衡点,为电池供电的物联网设备提供了有效的续航优化方案。

pea55的博客 324

突发环境事件怎么模拟?用Python+GIS实现高斯烟团模型(附完整代码)

本文详细介绍了如何利用Python与GIS技术实现高斯烟团模型,用于模拟化工泄漏等突发环境事件的动态扩散过程。通过核心原理讲解、参数快速获取方案、Python代码实现及GIS可视化集成,为环境应急人员提供了一套完整的解决方案。特别适合危险品运输事故等瞬态污染场景的应急决策支持。

weixin_33692284的博客 485

栈的习题

栈可以看作铁道交换网。编号为 1 , 2,…n的车厢停在左车道上,当车厢停在右车道上时,要对它们进行重新排列(改序排列)可以将支线(栈)上的车厢留在那儿或者发送到右车道上,但不能将它再送回到进来时的车道。例如,如果n=3并且我们将车厢 1、2、3停在左车道上,则车厢3最先到达支线。然后我们可以将车厢2发送到支线,然后放在去右车道的路上,再将车厢3发送上路.然后是车厢1,因此获得的新序列为1、3、2

u011759617的专栏 1007

transformer优化(一)-UNeXt 学习笔记

​它在早期阶段使用卷积,在潜在空间阶段使用 MLP。通过一个标记化的 MLP 块来标记和投影卷积特征,并使用 MLP 对表示进行建模。 ​

PLANTTHESON的博客 2033

铁道交换网问题

(a).当n=3时:有五种情况 1,2,3         2,1,3           2,3,1           3,1,2          3,2,1   (b).当n=4时:有十四种情况 1,2,3,4       2,1,3,4        2,3,1,4         2,3,4,1            3,1,2,4           3,2,1,4

周峰专栏 817

QT实现MQTT服务端(附完整源码)

QT实现MQTT服务端(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1253

YOLOv5入门实践(1)——手把手带你环境配置搭建

YOLOv5入门实践第一步,手把手带你配置环境

路人贾的博客 2万+

第2章 栈

Exercise 4 栈可以看作如图2.3的铁道交换网。编号为1,2,…,71 的车厢停在左车道上,当车厢停在右车道上时,要对它们进行重新排列(改序排列)。可以将支线(栈道)上的车厢留在那儿或者发送到右车道上,但不能将它再送回到进来时的车道。例如,如果n=3,并且我们将车厢1,2,3停在左车道上,则车厢3 最先到达支线。然后我们可以将车辆2发送到支线,然后放在去右车道的路上,再将车厢3 发送

加菲的小窝 740

NetSuite软件二次开发:NetSuite二次开发最佳实践与案例分析

SuiteScript是NetSuite提供的一种用于二次开发的脚本语言,它基于JavaScript,但添加了特定的API和框架,以支持NetSuite平台的业务逻辑开发。SuiteScript有两种版本:SuiteScript 1.0和SuiteScript 2.0,后者提供了更现代的面向对象编程模型,增强了代码的可读性和可维护性。NetSuite允许用户自定义字段以满足特定的业务需求。这些字段可以添加到现有的记录类型中,也可以用于自定义记录。自定义字段可以是文本、数字、日期、下拉列表等多种类型。

kkchenjj的博客 1465

UVa - 514 Rails ( 栈 )

UVa - 514 Rails ( 栈 ) 水题 数据结构 : 栈 题意 输入一个整数N表示火车的数量,且栈A内火车按顺序排列( A栈栈首是1,栈尾是N ) ; 接下来给出1 - N的排列表示希望达成的栈B内的火车顺序 , 火车只能由A → B 或者 A → C(暂存) → B . 问给出的栈B序列能否达成 [ ...

a7152326的博客 198

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

UVA 514 Rails 铁轨 栈的模拟

UVA 514 Rails 铁轨 栈的模拟 标签(空格分隔): 算法竞赛 C++ 算法 紫书 这道题第一次见是在acm俱乐部寒假训练赛中,但是当时太菜了,即便知道是用栈来做,也想不出怎么模拟。过了一个寒假,学了些C++,感觉能做了,但是找不到用栈模拟火车还是车站,所以还是做不出。直到看了提示,知道是用栈模拟车站后,这才做出来的。 原题不打了,在紫书140页。我只写解题过程。 为了达到重...

辣鸡的博客 408

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

uva 514 - Rails(栈)

题目链接:uva 514 - Rails 题目大意:给定n,表示有一个序列从1到n,问说通过一个栈的转换,可否形成给定序列。 解题思路:出现ai−1>ai+1且ai+1>ai的情况就不行。 #include #include #include using namespace std; const int maxn = 1005; int N, arr[maxn]; boo

不慌不忙、不急不躁 1610

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

UVA514 - Rails(栈)

题目:UVA514 - Rails(栈) 题目大意:某城市有一个火车站,铁轨成Y字形,有n节车厢从A方向驶入车站,按进站顺序编号1-n,现在给你一个序列代表进入B的顺序,你可以借助一个C中转站,问能否可以按这样的序列驶入B。 解题思路:栈模拟,中转站就代表栈,将车厢入栈后,只能从栈顶一个一个出去。注意输出每个cas都有一个空行。 代码: #include #inc

1371

Uva 514 Rails(栈应用)

Uva 514 Rails 原题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=7&page=show_problem&problem=455 题意:  1-n编号的车从A驶入车站然后出站到B 问能否按照你输入的顺序输出  (进入中转站Station可以暂时停在

二十五之前我可能会秃头 571

UVA - 514 Rails (栈混洗,贪心)

题目链接https://vjudge.net/problem/UVA-514#author=0 这个题就是栈混洗第三种甄别方法,利用的是贪心的思想 AC代码 #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm...

Viator 627

【栈】UVA514 Rails

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 e...

elegant coder 124

UVa 514 Rails(栈的应用)

题目链接: https://cn.vjudge.net/problem/UVA-514 1 /* 2 问题 3 输入猜测出栈顺序,如果可能输出Yes,否则输出No 4 5 解题思路 6 貌似没有直接可以判定的方法,紫书上给出的方法是在进行一个入栈出栈操作,看是否能够构成原始的入栈序列。 7 */ 8 #include<cstdio>...

aisebu7819的博客 110

Rails UVA - 514(栈)

题目链接:https://vjudge.net/problem/UVA-514 题目大意:右边的火车经过中间的收费站到左边,右边火车进站的秩序是1~n 判断是否能以题中是所给的次序通过 思路:很明显的先进后出 显然是栈 ,这是第一道栈的题目,算是入了个门吧 ,会了栈就很简单了,不细讲,看代码: #include<iostream> #include&lt...

141

UVA-514 Rails 判断是否栈混洗

Vjudge题目地址,按紫书上模拟即可,但这里有一个知识点,栈混洗的判读,栈混洗的判断只需要在模拟时把压栈顺序改为要求的初始栈序列的顺序即可。 #include<cstdio> #include<iostream> #include<stack> using namespace std; const int maxn = 1010; int a[maxn];/...

good vegetable! 437

UVA-514 Rails【栈】

题目传送门 题目大意:输入n(n=0时退出),表示有n个数,入栈序列默认为1,2,,,n,给出若干个个序列,问该序列是否是一个合法的出栈序列,若是输出Yes,否则输出No,输入为0时结束。 解题思路:直接用栈模拟,注意输出格式和字母大小写 AC代码:一种是我自己写的,另一种是参考紫书写的。 代码一: #include <iostream> #include <algo...

君兮月影的博客 228
上一篇: UVA - 210 Concurrency Simulator
下一篇: UVA - 442 Matrix Chain Multiplication(栈)
DevinFan
博客等级 码龄13年 0粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值