7-6 出栈序列的合法性 (25分)
发布日期:2021-06-29 22:18:19 浏览次数:2 分类:技术文章

本文共 837 字,大约阅读时间需要 2 分钟。

7-6 出栈序列的合法性 (25分)给定一个最大容量为 M 的堆栈,将 N 个数字按 1, 2, 3, ..., N 的顺序入栈,允许按任何顺序出栈,则哪些数字序列是不可能得到的?例如给定 M=5、N=7,则我们有可能得到{
1, 2, 3, 4, 5, 6, 7 },但不可能得到{
3, 2, 1, 7, 5, 6, 4 }。输入格式:输入第一行给出 3 个不超过 1000 的正整数:M(堆栈最大容量)、N(入栈元素个数)、K(待检查的出栈序列个数)。最后 K 行,每行给出 N 个数字的出栈序列。所有同行数字以空格间隔。输出格式:对每一行出栈序列,如果其的确是有可能得到的合法序列,就在一行中输出YES,否则输出NO。输入样例:5 7 51 2 3 4 5 6 73 2 1 7 5 6 47 6 5 4 3 2 15 6 4 3 7 2 11 7 6 5 4 3 2输出样例:YESNONOYESNO
#include
#include
#include
using namespace std;stack
st;queue
que;int main(){
int m,n,k,i,j,t;//m栈最大容量,n元素个数,k出栈序列个数; scanf("%d %d %d",&m,&n,&k); for(i=0;i
m) break; while(!st.empty()&&!que.empty()&&st.top()==que.front()) { st.pop(); que.pop(); } } if(j==n+1&&st.empty()&&que.empty()) { printf("YES\n"); } else { printf("NO\n"); } } return 0; }

转载地址:https://dingshijie.blog.csdn.net/article/details/109904198 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:7-11 电话聊天狂人 (25分)
下一篇:7-5 寻找大富翁

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月22日 19时29分24秒