d718. Waiting In Line
標籤 :
通過比率 : 260人/357人 ( 73% ) [非即時]
評分方式:
Tolerant

最近更新 : 2010-06-15 21:05

內容

最愛馬桶洋行可愛猴子的穎妞*
常常為了買猴子玩偶去排隊
天真的她認為排隊(Waiting In Line)是生活中佇列(Queue)的好例子
也就是符合先搶先贏(First In First Out)的結構
但是她錯了...
她發現有些人在排隊時,會因為隊伍中有認識的人而進行插隊的行為!
而認識的人都是一個團體,也就是如果甲乙丙是一個團,那他們就彼此認識

而插隊的時候是排在該團的最後面,

例如若甲乙丙是一團,丁戊是一團

現在的佇列依序為 乙 戊

當甲要進佇列,就變成乙 甲 戊

當丙進來時,就變成乙 甲 丙 戊,當丁進來則變成乙 甲 丙 戊 丁
如果沒有認識的人就只好乖乖排在隊伍的最後...
心疼可愛穎妞*的你決定寫個程式
模擬這樣的插隊佇列

輸入說明

每組測試資料中會先輸入 N 代表有 N 個團隊 ,1 <= N <= 1000。
之後會有 N 行描述每個團體。每一行第一個數字 a 代表該團體的人數
之後接著 a 個團員的代號,為了方便,我們使用介於 0 - 999999 的正整數作為代號。
每個團隊至多只會有 1000 個團員。
另外不用考慮會有無恥的人同時屬於兩個團體以上。

接下來則是一連串的敘述,敘述有以下三種:
ENQUEUE x - 將元素 x 加入插隊佇列
DEQUEUE - 移除並回傳佇列中第一個元素
STOP - 該組測試資料的指令完畢

※注意總指令數可能高達200000個

輸出說明
對於每組測資,先輸出一行"Line #k" (不含引號),k代表第幾組測資。
接著逐一印出每次 DEQUEUE 的元素,一個元素一行。
範例輸入 #1
2
3 1 2 3
4 4 5 6 7
ENQUEUE 1
ENQUEUE 4
ENQUEUE 3
ENQUEUE 2
ENQUEUE 8
ENQUEUE 6
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
STOP
2
3 10000 20000 30000
4 400000 500000 600000 700000
ENQUEUE 10000
ENQUEUE 400000
ENQUEUE 30000
DEQUEUE
DEQUEUE
ENQUEUE 700000
ENQUEUE 600000
ENQUEUE 500000
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
STOP
範例輸出 #1
Line #1
1
3
2
4
6
8
Line #2
10000
30000
400000
700000
600000
500000
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (25%): 1.0s , <1K
公開 測資點#1 (25%): 1.0s , <1M
公開 測資點#2 (25%): 1.0s , <10M
公開 測資點#3 (25%): 1.0s , <10M
提示 :
謝謝
liouzhou_101提醒題目敘述不清,已改正
2010/5/7 22:15修正測資中未換行部分
造成用pascal的同學第二筆的RE深感抱歉
感謝liouzhou_101提醒
2010/6/15 21:05 修正範例測資的錯誤
標籤:
出處:
[管理者: david942j (文旋) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
16567 asnewchien@g ... (david) d718
感想
1454 2019-01-15 13:35