a678. CPE:Team Queue (UVa 540)

中等CPE

時間限制 2000 ms ・ 記憶體限制 256 MB

題目描述

在團體佇列中,每個元素都屬於一個團隊。新元素加入時,若佇列裡已有同隊成員,就排在該隊最後一位成員後面;若沒有同隊成員,就排到整條佇列尾端。取出時,一律取出整條佇列最前面的元素。

請模擬這種佇列。

輸入格式

每組先有團隊數 t,1 ≤ t ≤ 1000。接著 t 筆團隊資料,每筆先列成員數,再列所有成員編號。每隊最多 1000 位成員,編號範圍為 0 到 999999。

之後為操作:

  • ENQUEUE x:讓 x 加入佇列。
  • DEQUEUE:取出佇列最前面的元素。
  • STOP:本組結束。

每組最多 200000 個操作,加入與取出應有效率地完成。t = 0 表示全部輸入結束。

輸出格式

每組先輸出 Scenario #k,k 從 1 開始。每次 DEQUEUE 輸出被取出的元素,一行一個。每組最後空一行,包括最後一組。

題目來源:UVa 540 — Team Queue。 原題:https://onlinejudge.org/external/5/540.pdf

範例測資

範例輸入 1

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

範例輸出 1

Scenario #1
101
102
103
201
202
203

Scenario #2
259001
259002
259003
259004
259005
260001

請先登入後再提交程式碼

討論與題解

載入討論區…

更多