![]() |
||||||||||
|
||||||||||
快餐店Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 524288/262144 K (Java/Others)Total Submission(s): 1 Accepted Submission(s): 1 Problem Description SPY开了一家快餐店,由于快餐店的日常营业需要消耗很多一次性餐具,SPY需要一个餐具管理系统帮他负责餐具管理工作。 SPY的快餐店里一共采购3种餐具包:筷子包(含1双筷子)、勺子包(含1个勺子)、组合包(含1双筷子和1个勺子)。出于卫生考虑,餐具包不可以拆开用于两个订单。 现在你需要帮SPY做一个餐具管理系统,支持2种操作:
如果在某一秒钟内,系统接到了新订单,系统必须在以下2种操作选择1种执行:
每次出货,系统需要打印一行出货信息:
最后,SPY想看看还有哪些订单无法完成,因此请按从小到大顺序打印当前所有滞留订单的$id$,每个滞留订单的$id$占一行。如果在最后没有滞留订单,则跳过本步骤。 为了快餐店的工作效率,SPY要求出货信息的字典序最小。请完成该系统的设计。 关于字典序大小的说明:对于两段不同的出货信息,其字典序大小是其首条不同的出货信息的大小。对于两条不同的出货信息a和b,如果a=FINISH,则$a>b$,反之亦然;如果两者都不是FINISH,并且$t_a>t_b$,则$a>b$,反之亦然;如果两者都不是FINISH,并且$t_a=t_b,id_a>id_b$,则$a>b$,反之亦然。 Input 本题有多组测试数据。 输入第一行有一个正整数$T$$(1\le T\le 10)$,表示测试数据组数。 此后$t$组测试数据,每一组中: 第一行是一个整数$q$$(2\le q\le 10^4)$,表示操作次数。 此后$q$行,每行是一个操作,具体格式和含义见题面描述。 输入数据保证输入数据按时间顺序从早到晚排序,在同一秒内不存在两次操作,订单$id$是从1开始连续递增的自然数。 其他数据范围限制:$1\le t\le 10^9$,$0\le a,b,c,x,y\le 10^5$,一条输入内,$a,b,c$不全为0,$x,y$不全为0。 Output 你需要先输出订单出货信息,每条出货信息占一行,随后一行FINISH,最后从小到大输出滞留订单的$id$,每个滞留订单的$id$占一行。如果在最后没有滞留订单,则跳过最后一步。 Sample Input
Sample Output
Source | ||||||||||
|