DS线性结构—火车问题 (Ver. I)

2018-12-20  本文已影响0人  Allison_de77

题目描述

某火车站只有一条铁轨供火车停靠,所有的列车都从一侧进入,从另一侧出来。如果此时,列车A首先进入铁路,然后列车B在列车A离开之前进入铁路,则列车A不能离开,直到列车B离开(如下图所示)。车站最多有9列火车,所有火车都有一个ID(编号从1到n),列车按照Order1的顺序进入铁路,你需要确定列车可以以Order2的顺序从地铁站离开。

明眼人都知道,就是栈

输入

测试数据有多组

每组包含一个整数N和两个字符串O1,O2,N代表列车数量(1 <= N <= 9),O1代表进站顺序,O2代表出站顺序

输出

对于每组数据

首先输出一行"Yes."或"No.",代表能否由当进站顺序为O1时,出站顺序O2能否实现

若能实现,给出你的实现方法,其中"in"为列车进站,"out"为列车出站。

最后输出一行FINISH。

具体输出见样例。

样例输入

3 123 321

3 123 312

样例输出

Yes.

in

in

in

out

out

out

FINISH

No.

FINISH


思路:

先将输出的字符存在队中,新建一个栈用于存输入字符,若栈非空且栈顶元素跟队头元素相同,即证明此时应该将栈顶元素弹出,否则,将输入字符压入栈中。该过程中由vector存操作字符串,若(栈)压入,往vector里push_back “in”,若弹出,往vector里push_back “out”。

代码实现

运行结果

祝大家都能AC啦

太垃圾了,勿喷嘤嘤嘤

有可以改进的还请大家告诉我鸭 先谢谢啦


上一篇 下一篇

猜你喜欢

热点阅读