Banner Home Page DIY Contests Problems Ranklist Status Statistics
系统有问题!暂时不要提交!!! 我把输出数据原封不动的直接输出都是WA! 貌似提交的程序会莫名其妙地按别的题的数据测试 等我联系杭电OJ管理员解决后再提交! 不必按顺序做,会哪个做哪个,算法不会的我给提示。 手头上没书的可以找我借书

出栈序列

Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/65536K (Java/Other)
Total Submission(s) : 128   Accepted Submission(s) : 49

Font: Times New Roman | Verdana | Georgia

Font Size:

Problem Description

  已知自然数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。

Input

  输入数据包含若干组测试样例。
  每组测试样例的第一行为整数N(1≤N≤10000);
  第二行为N个正整数,以空格隔开,为出栈序列;
  输入数据的末尾以一个0表示输入的结束。

Output

  对于每组测试样例,输出结果为一行字符串。
  如给出的序列是可能的出栈序列,则输出"Yes",否则输出"No"。
  注意:区分大小写,引号本身不输出。

Sample Input

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

Sample Output

Yes
No

Author

河北大学程序设计竞赛

Source

2010年河北大学程序设计竞赛

Statistic | Submit | Back