小白闲着没事想研究一下火车调度的规律,于是他在火车站旁暗中观察火车的开进开出的顺序。但是他看着看着睡着了,只记得火车开进火车站的顺序,不记得开出的顺序了,现在把他记忆中猜测的开进开出顺序告诉你,请你帮他判断一下,按这个顺序是否可能?
已知每辆火车会用 1,2,3 ……的数字进行编号,火车站只有一个出入口,也就是说第一辆车开进去,如果又来了第二辆车开进,第二辆就排在离出口更近的地方,把第一辆堵住了,所以第二辆车没开走之前,第一辆车不可能开走。
比如,开进顺序如果是(1,2,3)的话,开除的顺序可能是(3,2,1),1 进 2 进 3 进 3 出 2 出 1 出;开出顺序也可能是(1,2,3),1进 1 出 2 进 2 出 3 进 3 出;但不可能是(3,1,2),3 出时代表 3 已开入,那么在站里的火车 1 肯定在 2 更里面,不可能先于 2 开出。
输入:两个列表,分别代表火车的开入顺序和开出顺序。
输出:
如果可能,输出“Yes”,否则输出“No”。
样例:
Sample1
输入 [1, 2, 3] [1, 3, 2]
输出
Yes
Sample2
输入 [1, 2, 3, 4] [3, 4, 2, 1]
输出
Yes
Sample3
输入 [1, 2, 3, 4] [4, 2, 1, 3]
输出
No
Sample4
输入 [1, 2, 3, 4, 5] [4, 5, 2, 1, 3]
输出
No
tag:栈