#P2448. A New Operating System
A New Operating System
题目描述
梅是一个可爱的女孩。由于她的孝心,她想在母亲生日那天送礼物。因为她的父母都是世界顶级程序员,她决定设计一个新程序,一个操作系统的特殊程序!在她出色的编程技巧的帮助下,已经完成了新操作系统的内核。而生日就要到,她担心时间还不足以及时完成整个项目。作为她最好的网友,你有责任帮助她。
这是一个多任务操作系统,进程同时运行。操作系统中有以下命令:
使用过程识别 PID 和内存大小以及优先级创建新进程。此命令中的优先级称为进程的外部优先级。
这意味着,在进程 PID 的消息队列中添加一条新消息,优先级为优先级。具有更高优先级的消息将更早地运行,较低。优先级称为内部优先级。
运行
了解最大 的信息。被定义为消息的内部优先级和相应的过程优先级的产物。如果两个或多个消息具有相同的 HP,则具有最小 PID 的消息将首先运行。将信息打印到输出文件,将被您找到的消息替换,或者如果消息队列为空,则打印。如果存在,请删除此消息。
更改优先级(PID,NewValue)
将过程 PID 的外部优先级更改为 NewValue。
GetMemory(PID,记忆)
过程 PID 内存增加内存量。
自由记忆(PID,记忆)
过程 PID 内存减少内存量。
运行程序(PID)
与 Run 命令类似。查找进程 PID 消息队列中的消息,将信息打印到输出文件,优先级将被您找到的消息优先级替换,或者如果消息队列为空,则打印“Empty”。如果存在,请删除此消息。
CloseMax 记忆
找出使用最多内存的过程,如果存在,则关闭它(如果领带,最小PID应该首先释放),或者打印“Empty”代替。
CloseProcess(PID) 关闭过程
关闭过程与PID的识别。
每当一个过程的内存小于或等于0时,它会自动关闭。在上述任何命令中,除了第一个命令,如果PID不存在,请打印一个“错误”到输出。对于第一个命令,如果 PID 已经存在,请打印一个“Error”并忽略此命令。
输入
输入中的第一行是整数,它表示命令数。下一个行,每个都给出上面描述的命令。输入文件中给出的任何数字都是非负整数,不会超过万。
输出
输出格式已在上面描述。 输入数 1
11
CloseMaxMemory
CreateProcess(1,100,1)
CreateProcess(2,200,1)
CreateProcess(3,300,1)
AddMessage(1,9)
AddMessage(2,19)
AddMessage(1,10)
GetMemory(2,999)
CloseMaxMemory
Run
RunProcess(1)
输出数位 1
Empty
Run: 10
Run Process: 9
提示
输入文件的总大小可能高达21.8MB。 来源
POJ 月刊, Minkerui