团体队列
有t个团队的人正在排一个长队,每有一个新来的人时,他会从队首开始向后搜寻,如果发现有队友正在排队,那么他就会插队到他队友的身后;如果没有发现任何一个队友排队,他就只好站在长队的队尾。
输入每个团队中所有队员的编号,要求支持如下3种指令:
ENQUEUE x
:编号为x的人进入长队;DEQUEUE
:长队的队首出队;STOP
:停止模拟。
输入
有多组测试数据,每组数据的第一行为一个整数t(1≤t≤1000),表示有t个团队。随后tt行描述每一个团队,即每一个团队由一个表示该团队人数的整数n(可能有多达1000个)和n个整数编号(范围在0到999999之间)。 随后是指令列表(可能多达200000条指令),有三种不同的指令:
ENQUEUE x
:编号为xx的人进入长队;DEQUEUE
:长队的队首出队;STOP
:结束一个测试样例。
当t=0t=0时,输入终止。
输出
对应每个测试样例,首先输出一行Scenario #k
,其中kk表示第几次测试。然后,每一个DEQUEUE
指令打印包含出队的编号(单独占一行)。
打印一空行在每一个测试样例之后,即使是最后一个测试样例。
样例
输入
2 3 101 102 103 3 201 202 203 ENQUEUE 101 ENQUEUE 201 ENQUEUE 102 ENQUEUE 202 ENQUEUE 103 ENQUEUE 203 DEQUEUE DEQUEUE DEQUEUE STOP 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 STOP 0
输出
Scenario #1 101 102 103 Scenario #2 259001 259002 259003