团体队列
时间限制:1秒 内存限制:256M
【问题描述】
有 \(n\) 个团队正在排一个长队。每次新来一个人时,如果他有队友在排队,那么这个新人会插入到最后一个队友的身后。如果没有任何一个队友在排队,则他会排在长队的队尾。
给出团队中每个队员的编号,要求支持如下 3 种命令(前两种命令可以穿插进行):
ENQUEUE \(x\):编号为 \(x\) 的人进入长队。
DEQUEUE:长队的队首出队。
STOP:停止模拟。
对每个 DEQUEUE 指令,输出出队人的编号。
【输入格式】
数据的第一行为整数 \(n\),表示有 \(n\) 个团队。接下来的 \(n\) 行,每行表示一个团队信息:第一个整数 \(k\) 表示团队人数,接下来的 \(k\) 个 \(0..999999\) 的整数,表示该团队人员编号。接下来的若干行为命令序列,每行一条命令,格式见题目描述。
【输出格式】
若干行输出执行 DEQUEUE 指令的结果。
【输入输出样例1】
Input
2
3 101 102 103
3 201 202 203
ENQUEUE 101
ENQUEUE 201
ENQUEUE 102
ENQUEUE 202
ENQUEUE 103
ENQUEUE 203
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
STOP
Output
101
102
103
201
202
203
【输入输出样例2】
Input
2
5 259001 259002 259003 259004 259005
6 260001 260002 260003 260004 260005 260006
ENQUEUE 259001
ENQUEUE 260001
ENQUEUE 259002
ENQUEUE 259003
ENQUEUE 259004
ENQUEUE 259005
DEQUEUE
DEQUEUE
ENQUEUE 260002
ENQUEUE 260003
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
STOP
Output
259001
259002
259003
259004
259005
260001
【数据限制】
对于 \(100\%\) 的数据有:团队数不超过1000,每个团队人数不超过1000,命令条数不超过2000000条。
【来源】
Mr.he