出栈序列(栈和队列)
时间: 1ms 内存:128M
描述:
已知自然数1,2,...,N(1≤N≤10000)依次入栈(即a<b当且仅当a先于b入栈),问:序列C1,C2,...,CN是否为可能的出栈序列。
例如:N=5时,3,4,2,1,5是一个可能的出栈序列,因为其可以按如下操作获得:push 1,push 2,push 3,pop,push 4,pop,pop,pop,push 5,pop
输入:
输入数据包含若干组测试样例。
每组测试样例的第一行为整数N(1≤N≤10000);
第二行为N个正整数,以空格隔开,为出栈序列;
输入数据的末尾以一个0表示输入的结束。
输出:
对于每组测试样例,输出结果为一行字符串。
如给出的序列是可能的出栈序列,则输出"Yes",否则输出"No"。
注意:区分大小写,引号本身不输出。
示例输入:
5
3 4 2 1 5
5
3 5 1 4 2
0
示例输出:
Yes
No
提示:
参考答案:
文章评论