基础实验3-2.4 出栈序列合法 (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 5
1 2 3 4 5 6 7
3 2 1 7 5 6 4
7 6 5 4 3 2 1
5 6 4 3 7 2 1
1 7 6 5 4 3 2
输出样例:
YES
NO
NO
YES
NO
全部评论 (0)
还没有任何评论哟~
