#P0908. 整理工具箱
整理工具箱
题目描述
训练营收尾时,小可负责整理工具。
现场有一个“使用队列”和一个“临时箱”:
- 普通工具会直接排到使用队列的队尾;
- 备用工具会放进临时箱的最上面;
- 当需要取工具时,如果使用队列为空,就先把临时箱里的工具从上到下依次倒入使用队列;
- 然后从使用队列的队首取出一件工具使用;
- 如果两个地方都没有工具,则输出
EMPTY。
现在给出若干条操作,请你输出每次取工具的结果。
输入格式
第一行输入一个整数 q,表示操作数量。
接下来 q 行,每行是一条操作,格式如下:
add x t:编号为x的工具到达。若t = 0,它是普通工具;若t = 1,它是备用工具。use:取出一件工具使用,并输出结果。
输出格式
对于每条 use 操作,输出一行。
如果成功取出工具,输出工具编号;否则输出 EMPTY。
样例
9
add 1 1
add 2 1
use
add 3 0
use
use
use
add 4 1
use
2
1
3
EMPTY
4
样例解释
初始时,“使用队列”和“临时箱”均为空。
add 1 1:1 是备用工具,放入临时箱,此时临时箱中有 [1]。
add 2 1:2 是备用工具,放入临时箱最上面,此时临时箱中有 [2, 1](2 在最上面)。
use:使用队列为空,先将临时箱里的工具从上到下倒入使用队列,得到使用队列 [2, 1];然后从队首取出工具 2。
add 3 0:3 是普通工具,直接排到使用队列队尾,此时使用队列为 [1, 3]。
use:从使用队列队首取出工具 1。
use:从使用队列队首取出工具 3。
use:使用队列和临时箱都已没有工具,输出 EMPTY。
add 4 1:4 是备用工具,放入临时箱,此时临时箱中有 [4]。
use:使用队列为空,将临时箱倒入使用队列得到 [4],从队首取出工具 4。
数据范围
t只可能是0或1