C1056 - 看病要排队
题目描述
看病要排队这个是大家都知道的常识
一家医院有3个医生坐诊同时看病,看病的人需要排队看病,而看病的人病情有轻有重,病情重的人可以优先看病
医院对每种病情规定了10种不同的优先级,级别为10的优先权最高,级别为1的优先权最低
医生在看病时,则会在他的队伍里面选择一个优先权最高的人进行诊治,如果遇到两个优先权一样的病人的话,则选择最早来排队的病人
每个医生有他自己的独立的看病队伍
现在就请你帮助医院模拟这个看病过程
输入格式
第1行,一个正整数N,代表接下来有N个事件
接下来是N个事件,一共有两种事件:
IN A B,表示有一个拥有优先级B的病人要求医生A诊治,(1<=A<=3, 1<=B<=10)OUT A,表示医生A从他的队伍中选择一个人进行诊治,诊治完毕后,病人出院,(1<=A<=3)
输出格式
对于每个OUT A事件,请在一行里面输出被诊治人的编号ID。如果该事件时无病人需要诊治(该医生的看病队伍为空),则输出"EMPTY"
诊治人的编号ID的定义为:在一组测试中(一组输入数据),IN A B事件发生第K次时,进来的病人ID即为K,从1开始编号
输入输出样例
| 输入样例 | 输出样例 |
|---|---|
| 7 IN 1 1 IN 1 2 OUT 1 OUT 2 IN 2 1 OUT 2 OUT 1 |
2 EMPTY 3 1 |
| 2 IN 1 1 OUT 1 |
1 |
输入输出样例解释
数据范围与提示
100%的数据:$1 \le N \le 2000$,$1 \le A \le 3$,$1 \le B \le 10$
测试点数目
共10个测试点,每个测试点10分
时间与内存限制
每个测试点时间:1000ms(1.0s),内存:256MiB
输入输出模式
本OJ支持两种输入输出模式
1. 标准输入输出模式:
直接从标准输入和标准输出读写数据,不需要使用freopen进行文件输入输出重定向
2. 文件输入输出模式(国内信奥赛输入输出模式):
从文件中读写数据,需要使用freopen进行输入输出重定向
本题输入文件名为:C1056.in,输出文件名为:C1056.out