華為OD機試-打印機隊列
題目描述
有5臺打印機打印文件,每臺打印機有自己的待打印隊列。因為打印的文件內(nèi)容有輕重緩急之分,
所以隊列中的文件有1~10不同的代先級,其中數(shù)字越大優(yōu)先級越高。
打印機會從自己的待打印隊列中選擇優(yōu)先級最高的文件來打印。
如果存在兩個優(yōu)先級一樣的文件,則選擇最早進入隊列的那個文件。
現(xiàn)在請你來模擬這5臺打印機的打印過程。
輸入描述
每個輸入包含1個測試用例,每個測試用例第一行給出發(fā)生事件的數(shù)量N(0 < N < 1000)。
接下來有 N 行,分別表示發(fā)生的事件。
共有如下兩種事件:
1. “IN P NUM”,表示有一個擁有優(yōu)先級 NUM 的文件放到了打印機 P 的待打印隊列中。(0< P <= 5, 0 < NUM <= 10);
2. “OUT P”,表示打印機 P 進行了一次文件打印,同時該文件從待打印隊列中取出。(0 < P <= 5)。
輸出描述
對于每個測試用例,每次”O(jiān)UT P”事件,請在一行中輸出文件的編號。
如果此時沒有文件可以打印,請輸出”NULL“。
文件的編號定義為”IN P NUM”事件發(fā)生第 x 次,此處待打印文件的編號為x。編號從1開始。
示例1? ?輸入輸出示例僅供調(diào)試,后臺判斷數(shù)據(jù)一般不包含示例
輸入
7
IN 1 1
IN 1 2
IN 1 3
IN 2 1
OUT 1
OUT 2
OUT 2
輸出
3
4
NULL
————————————————
版權(quán)聲明:本文為CSDN博主「MISAYAONE」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://renjie.blog.csdn.net/article/details/128203614
Java 實現(xiàn):https://renjie.blog.csdn.net/article/details/128203614
Python實現(xiàn):https://renjie.blog.csdn.net/article/details/128210010
C++ 實現(xiàn):https://renjie.blog.csdn.net/article/details/128175289
JavaScript實現(xiàn):https://renjie.blog.csdn.net/article/details/128986354
C語言版本持續(xù)更新中