Call Forwarding
在近十年中,資訊科技不斷進步,同時電話系統的功能也越來越強。現在已經有了自動選單、電話自動答錄、電話會議(多人交談) 、群組電話 ... 等。而對於公司電話系統最常見的是轉接功能,例如:當 Bob 不在 NHC 公司時,打給他的電話將會轉接到他的同事 Jane,而這題要請你追蹤轉接的過程,最後輸出轉接到哪裡。Call Forwarding |
在 NHC 公司中,每個分機號碼由 4 位數字構成,每名員工都會有一個對應的號碼,以及不在位子上時,哪個時段會轉接到另外一名同事上。
員工離開的訊息有哪位員工離開、在哪個時間點離開、離開了多久以及會轉接到哪裡。
而分機號碼的格式如下:
- 每個分機號碼只會有 4 位數字。
- 分機號碼 0000 和 9999 為保留號碼,不會指派給任何一名員工。
- 時間單位以小時計算,逐漸遞增一個小時,時間從 0000 至 8784 (366 天 * 24 小時)。
而轉接系統每隔一年會重新啟動。 - 每個轉接的起始時間點 X,持續 Y 小時,即影響的區間為 [X, X+Y] (涵蓋端點)。
Input
輸入第一行有一個 N (1 <= N <= 10),接下來將會有 N 組測資。每組測資,將會有數行資訊,至多 100 行。資訊格式如下:
`source time duration target'
當 source 將會在 [time, time+duration] 不在,且轉接到 target。
且每航資訊會符合數字格式 `dddd dddd dddd dddd'。
直 source = 0000 時,結束該組資訊。
接下來將會有數筆詢問,詢問格式如下:
`time extension'
表示在 time 時間點打給分機號碼 extension,同時兩者也會符合格式 `dddd dddd'。
直到 time = 9000,結束該組測資。
Output
測資第一行輸出 CALL FORWARDING OUTPUT ,接著輸出每組測資的訊息,先輸出一行 SYSTEM N,表示第幾組測資組。
接著輸出每組詢問結果 ``AT dddd CALL TO dddd RINGS dddd",意思為在哪個時間點打給分機號碼,最後在哪個分機響了。
並且程式結束前輸出一行 END OF OUTPUT
Sample Input
2 1111 0100 0200 2222 1111 0301 0500 4444 2222 0200 0200 3333 3333 0250 1000 1111 7777 1000 2000 7777 0000 0050 1111 0150 1111 0200 1111 0225 2222 0270 1111 0320 1111 0320 3333 0900 3000 1250 3333 1250 7777 9000 0000 3000 1111 9000
Sample Output
CALL FORWARDING OUTPUT SYSTEM 1 AT 0050 CALL TO 1111 RINGS 1111 AT 0150 CALL TO 1111 RINGS 2222 AT 0200 CALL TO 1111 RINGS 3333 AT 0225 CALL TO 2222 RINGS 3333 AT 0270 CALL TO 1111 RINGS 9999 AT 0320 CALL TO 1111 RINGS 4444 AT 0320 CALL TO 3333 RINGS 4444 AT 0900 CALL TO 3000 RINGS 3000 AT 1250 CALL TO 3333 RINGS 1111 AT 1250 CALL TO 7777 RINGS 9999 SYSTEM 2 AT 3000 CALL TO 1111 RINGS 1111 END OF OUTPUT
沒有留言:
張貼留言