#1850. Windows操作系统的消息队列

Windows操作系统的消息队列

Description

消息队列是Windows操作系统的最基本要素。对每个进程,系统维护一个消息队列,如果进程执行某种操作,例如单击鼠标等,系统向队列添加一个相应的消息。同时如果队列非空,则进程执行消息循环:根据消息的优先级取出一个消息,并执行相应的操作。注意,优先级数值小表示优先级高。在本题中,要求你模拟消息队列,向消息队列中添加消息和取出消息。

Input Format

输入中只有一个测试数据,每行为一个命令:GET或者PUT,分别表示取消息和添加消息。如果是PUT命令,则命令后面紧跟一个字符串,代表消息名称(最多10个字符),然后是2个整数代表参数和优先级(优先级为小于20的正整数)。至多有60000个命令。注意,每个消息可能会出现2次甚至更多次,测试数据保证任一时刻队列中各消息的优先级不一样。处理一直到文件末尾。

Output Format

对每个GET命令,输出从消息队列中取出的消息的名称和参数,如果消息队列为空,则输出EMPTY QUEUE!,对PUT命令,没有输出内容。
GET
PUT msg1 10 5
PUT msg2 10 4
GET
GET
GET
EMPTY QUEUE!
msg2 10
msg1 10
EMPTY QUEUE!

Source

未分类