#E. 出栈顺序

    传统题 1000ms 256MiB

出栈顺序

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

大家都知道,栈满足先进后出的特性。一个栈,如果按照 1,2,3...,n的顺序入栈,出栈顺序可以是:n...3,2,1

考虑到栈可以边进边出,就可能产生多种不同的出栈序列,比如:入栈顺序是1,2,3,4,5,出栈顺序可能是:3,4,2,1,5,但不可能是:3,5,1,4,2。 请问:如果一个栈,按照1,2,3...,n的顺序入栈,允许栈边进边出的情况下,判断出栈顺序是否合法。

输入

1 行读入一个整数 m,代表有多少组出栈的数据等待检测(m30

接下来读入 m 组数据,每组数据的第 1 行,读入一个整数 n,代表本组数据的出栈序列中有 n 个整数(1n100)。

每组数据的第2 行,读入n 个整数,数字之间用空格隔开。

输出

对于每组输入,请输出该组出栈序列是否合法,如果合法,请输出Yes,不合法请输出No。请注意,每组数据的输出占1行。

样例 输入

2
5
3 4 2 1 5
5
3 5 1 4 2

样例输出

Yes
No

2024-5-24课上练习、作业

未认领
状态
已结束
题目
5
开始时间
2024-5-24 15:30
截止时间
2024-6-1 23:59
可延期
24 小时