P2952 [USACO09OPEN] Cow Line S

题目描述

Farmer John(以下简称 FJ)的 $N$ 头奶牛(用 $1 \dots N$ 编号)在直线上排队。一开始,这条线上没有任何奶牛,随着时间的推移,奶牛们会一个接一个地站到队伍的左边或右边。又过了一会儿,某些奶牛会从队伍里离开,去吃自己最喜欢的草料。 FJ 无法跟踪每一头奶牛,于是,他想让你来帮助他。 奶牛以 $1 \dots N$ 的顺序排队,并且离开的奶牛不会再次回来。数据将会给出 $S$($1 \le S \le 100000$) 条指令,各占一行,分两种: - $1$ 头奶牛加入了队列(还有一个参数,表示从左加入还是从右加入); - $K$ 头奶牛从左边或者右边离开了队列(还有两个参数,分别表示从左离开还是从右离开和离开多少头奶牛)。 输入的命令一定是可以执行的。 所有的操作结束后,你的程序应该以从左到右的顺序输出这个奶牛队列。数据保证最后的队列不空。

输入格式

- 第 $1$ 行:单独一个整数 $S$。 - 第 $2 \dots S+1$ 行:第 $i+1$ 行会有一条命令,有以下几种: - `A L`:一头奶牛从队列左边加入; - `A R`:一头奶牛从队列右边加入; - `D L K`:$K$ 头奶牛从队伍左边离开; - `D R K`:$K$ 头奶牛从队伍右边离开。

输出格式

- 第 $1 \dots ??$ 行:从左到右输出最后的奶牛队列,一个奶牛编号占一行。 **【样例解释】** 以下为输入的命令及对应的队列: - `A L`:$1$; - `A L`:$2,1$; - `A R`:$2,1,3$; - `A L`:$4,2,1,3$; - `D R 2`:$4,2$; - `A R`:$4,2,5$; - `A R`:$4,2,5,6$; - `D L 1`:$2,5,6$; - `A L`:$7,2,5,6$; - `A R`(最终序列):$7,2,5,6,8$。

说明/提示

Input Resulting Cow Line A L 1 A L 2 1 A R 2 1 3 A L 4 2 1 3 D R 2 4 2 A R 4 2 5 A R 4 2 5 6 D L 1 2 5 6 A L 7 2 5 6 A R 7 2 5 6 8 感谢@ ws\_fuweidong 提供翻译。