团体队列
成绩 | 100 | 开启时间 | 2019年11月5日 星期二 19:45 |
折扣 | 0.8 | 折扣时间 | 2019年11月5日 星期二 19:45 |
允许迟交 | 是 | 关闭时间 | 2019年11月5日 星期二 19:45 |
输入文件 | queue.in | 输出文件 | queue.out |
【上机实践】团体队列(queue)UVA 540
有t个团队的人正在排一个长队,每有一个新来的人时,他会从队首开始向后搜寻,如果发现有队友正在排队,那么他就会插队到他队友的身后;如果没有发现任何一个队友排队,他就只好站在长队的队尾。
输入每个团队中所有队员的编号,要求支持如下3种指令:
ENQUEUE x:编号为x的人进入长队;
DEQUEUE:长队的队首出队;
STOP:停止模拟。
对于每个DEQUEUE指令,输出出队的人的编号。
【输入格式】
有多组测试数据,每组数据的第一行为一个整数t(1≤t≤1 000),表示有t个团队。随后t行描述每一个团队,即每一个团队由一个表示该团队人数的整数n(可能有多达1000个)和n个整数编号(范围在0到999999之间)。
随后是指令列表(可能多达200000条指令),有三种不同的指令:
ENQUEUE x:编号为x的人进入长队;
DEQUEUE x:长队的队首出队;
STOP:结束一个测试样例。
当t是0时,输入终止。
【输出格式】
对应每个测试样例,首先输出一行“Scenario #k”,其中k表示第几次测试。然后,每一个“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
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
DEQUEUE
DEQUEUE
DEQUEUE
STOP
0
【输出样例】
Scenario #1
101
102
103
201
202
203
Scenario #2
259001
259002
259003
259004
259005
260001