刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

3.两头进一头出
某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作。现给定入队的序列,请你判断一系列出队序列是否可能。例如按 1、2、3、4、5 的顺序入队,则 1、3、2、5、4 这样的出队序列是可以得到的,但 5、1、3、2、4 就是不可能得到的。
时间限制:4000
内存限制:65536
输入
输入首先在一行中给出两个正整数 N 和 K(≤ 10),分别是入队元素的个数和待查验的序列个数。随后一行给出 N 个两两不同的整数组成的入队序列;再跟着 K 行,每行给出由 N 个入队整数组成的出队序列。同行整数间以空格分隔。
输出
对每个需要查验的出队序列,如果是可能的,则在一行中输出 `yes`,否则输出 `no`。
样例输入
5 4
10 2 3 4 5
10 3 2 5 4
5 10 3 2 4
2 3 10 4 5
3 5 10 4 2
样例输出
yes
no
yes
no

使用微信搜索喵呜刷题,轻松应对考试!

答案:

解析:

根据题目描述,我们需要模拟队列的进出操作来判断给定的出队序列是否可能得到。通过创建一个空队列,并依次将入队序列中的元素入队,然后检查出队序列中的元素是否能从队列中按序出队,可以判断出一个出队序列是否可能得到。在这个过程中,我们需要保证出队的顺序与入队的顺序一致,并且队列中始终存在要出的元素。如果在这个过程中发现任何不一致或队列中元素不足的情况,就说明该出队序列不可能得到。通过这样的模拟,我们可以对每一个待查验的出队序列进行判断,并输出对应的结果。

创作类型:
原创

本文链接:3.两头进一头出某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作。现给定入队的序列,请你判

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share