我是靠谱客的博主 灵巧楼房,最近开发中收集的这篇文章主要介绍火车站中的驶出的火车(栈与队列),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

描述
有编号从1到N的N辆火车等待进入车站,而车站的容量是有限的,需要对火车进行调度。

只有两种调度指令,进站和出站。

现在车站给出了M个指令,请你输出在完成这些调度指令后,车站中驶出火车编号。

输入
两行
第一行两个整数,N和M
第二行为M个为-1或者为1的整数,-1代表出站,1代表入站
输出
一行整数,为驶出车站的火车编号
样例输入
3 3
1 -1 1
样例输出
1

**注意:**进出站都是一个口,当初想当然的以为一口进一口出WA了好几发
AC代码:

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int a[100010],b[100010];
int main()
{
int n,m;
cin>>n>>m;
int r=1,l=1;
for(int i=1;i<=n;i++)
a[i]=i;
for(int i=1;i<=m;i++)
{
int x;
cin>>x;
if(x==1)
{
b[r]=a[l];
r++;
l++;
}
if(x==-1)
{
cout<<b[r-1]<<" ";
r--;
}
}
}

最后

以上就是灵巧楼房为你收集整理的火车站中的驶出的火车(栈与队列)的全部内容,希望文章能够帮你解决火车站中的驶出的火车(栈与队列)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部