分组叫号
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题意:
服务台最初没有等待人员。每个人具有一个编号和一个小组名称,依次处理以下操作:
IN g id:编号为 、属于小组 的人到达。如果当前已经有这个小组的人等待,新来的人站在该小组最后一名等待人员的后面;否则,他站到所有等待人员的最后面。OUT:最前面的人接受服务并离开,输出其编号。如果没有等待人员,输出EMPTY。
同一个小组的等待人员始终站在一起。一个小组的所有人都离开后,它之后再次有人到达时,按一个当前没有等待人员的小组处理。
输入格式:
第一行一个整数 (),表示操作次数。
接下来 行,每行给出一条操作。
IN 操作给出字符串 和整数 (,)。小组名称仅由小写英文字母组成。保证所有 IN 操作中的人员编号互不相同,包括已经离开的人员。
输出格式:
对每条 OUT 操作输出一行,为离开的人员编号或 EMPTY。没有 OUT 操作时不输出内容。
样例:
样例输入:
13
IN blue 11
IN red 22
IN blue 33
OUT
OUT
IN blue 44
IN green 55
IN red 66
OUT
OUT
OUT
OUT
OUT
样例输出:
11
33
22
66
44
55
EMPTY
样例解释:
人员 加入时站在人员 后面。两人都离开后,blue 组暂时没有等待人员,所以之后到达的人员 站在人员 后面。人员 到达时,red 组仍有人等待,因此他站在人员 后面。
C++ Programming Practice Round 2
- 状态
- 已结束
- 规则
- XCPC
- 题目
- 10
- 开始于
- 2026-10-18 0:00
- 结束于
- 2026-10-25 0:00
- 持续时间
- 168 小时
- 主持人
- 参赛人数
- 6