時間限制 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
請先登入後再提交程式碼
討論與題解
載入討論區…