题目链接:https://www.nowcoder.com/acm/contest/131/A
这道题刚开始我的想法是用两个栈分别去存FIRST和LAST所操作的数,用map标记入栈的数,然后先将FIRST栈中的数输出,然后再遍历数组输出没有被标记的数,最后再输出LAST栈中的数,虽然我觉得没什么问题吧,但是只过了5%的样例。能AC的方法就是首先我们要从100000开始输入数据(至于为什么等会再说),然后用map去标记这个数的当前位置。然后进行操作的时候,如果是FIRST我们就从100000往前存这个数,如果是LAST我们就从100000+n开始往后继续存数,同时需要更新map的标记,最后我们只需要输出map所标记的值就好了。
因为可能会有100000个FIRST个操作,所以最开始输入数的时候下标要大于等于100000...
emmmmm...先贴一个我认为没什么毛病的代码
过了5%样例的代码:
#include
#include
#include
#include
AC代码:
#include
#include
#include
#include