题目描述
某火车站只有一条铁轨供火车停靠,所有的列车都从一侧进入,从另一侧出来。如果此时,列车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啦
有可以改进的还请大家告诉我鸭 先谢谢啦