酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

输入格式: 输入第 1 行给出正整数 n(≤10 5 ),随后 n 行,每行给出一个指令——get 或 put,分别表示从队列中取出消息或将消息添加到队列中。如果指令是 put,后面就有一个消息名称、以及一个正整数表示消息的优先级,此数越小表示优先级越高。消息名称是长度不超过 10 个字符且不含空格的字符串;题目保证队列中消息的优先级无重复,且输入至少有一个 get。 输出格式: 对于每个 get 指令,在一行中输出消息队列中优先级最高的消息的名称和参数。如果消息队列中没有消息,输出 empty queue!。对于 put 指令则没有输出。

以下是使用 Python 语言解决此问题的代码: ```python import queue n = int(input()) q = queue.PriorityQueue() for _ in range(n): instruction = input().split() if instruction[0] == 'put': priority = int(instruction[2]) q.put((priority, instruction[1])) elif instruction[0] == 'get': if q.empty(): print('empty queue!') else: priority, message = q.get() print(message, priority) ``` 这段代码首先创建一个优先级队列,然后根据输入的指令进行操作。对于`put`指令,将消息和优先级放入队列。对于`get`指令,如果队列为空则输出`empty queue!`,否则取出并输出优先级最高的消息。 [2024-10-19 20:10:02 | AI写代码神器 | 182点数解答]

相关提问