#P2228. 2228 - 出栈顺序
2228 - 出栈顺序
题目描述
大家都知道,栈满足先进后出的特性。一个栈,如果按照 的顺序入栈,出栈顺序可以是: 。
考虑到栈可以边进边出,就可能产生多种不同的出栈序列,比如:入栈顺序是 ,出栈顺序可能是: ,但不可能是: 。
请问:如果一个栈,按照 的顺序入栈,允许栈边进边出的情况下,判断出栈顺序是否合法。
输入
第 行读入一个整数 ,代表有多少组出栈的数据等待检测( )。
接下来读入 组数据,每组数据的第 行,读入一个整数 ,代表本组数据的出栈序列中有 个整数( )。
每组数据的第 行,读入 个整数,数字之间用空格隔开。
输出
对于每组输入,请输出该组出栈序列是否合法,如果合法,请输出Yes
,不合法请输出No
。请注意,每组数据的输出占 行。
样例
2
5
3 4 2 1 5
5
3 5 1 4 2
Yes
No