stack和queue练习题

这是一道关于2018蓝桥杯STL应用的训练题,目标是帮助调度员通过stack来调整列车车厢顺序。题目要求在单向铁路轨道上,通过有限的中转站调整车厢,使得特定的车厢顺序能够从出口驶出。输入包含车厢总数和中转站容量,以及期望的出口顺序。输出是实现这一顺序的操作序列,包括'push'(进站)和'pop'(出站)指令。如果无法实现,则输出提示信息。
摘要由CSDN通过智能技术生成

1689: 2018蓝桥杯培训-STL应用专题-day 5 stack作业题2

描述

题目描述:

粗心的塔学长现在是火车站的调度员,看看现在的惨状吧,列车车厢的顺序竟然完全是乱的!为避免塔学长登上明天的UC头条,车站划分给塔塔一段如图所示的铁路,你能帮助塔塔把车厢的顺序调整好吗?

其中,A为入口,B为出口,S为中转盲端。所有铁道均为单轨单向式:列车行驶的方向只能是从A到S,再从S到B;另外,不允许超车。因为车厢可在S中驻留,所以它们从B端驶出的次序,可能与从A端驶入的次序不同。不过S的容量有限,同时驻留的车厢不得超过m节。

列车由编号依次为{1, 2, ..., n}的n节车厢组成。塔塔希望知道,按照以上交通规则,这些车厢能否以{a1, a2, ..., an}的次序,重新排列后从B端驶出。如果可行,应该以怎样的次序操作?

 

输入:

共两行。 
第一行为两个整数n,m。 
第二行为以空格分隔的n个整数,保证为{1, 2, …, n}的一个排列,表示待判断可行性的驶出序列{a1,a2,…,an}。

 

输出:

若驶出序列可行,则输出操作序列,其中push表示车厢从A进入S,pop表示车厢从S进入B,每个操作占一行。

若不可行,则输出“震惊ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值