网站开发去哪学,免费的背景视频素材,网络服务器在哪里,建设好的网站WX: help-assignment code price 200#xff08;不包含文档#xff01;不包含文档#xff01;不包含文档#xff01;#xff09;
课题任务-概述
2023年5月#xff0c;麦当劳在北邮开业。大量的学生去那里订餐。正因为如此#xff0c;麦当劳的在线点餐系统经常关闭以避…WX: help-assignment code price 200不包含文档不包含文档不包含文档
课题任务-概述
2023年5月麦当劳在北邮开业。大量的学生去那里订餐。正因为如此麦当劳的在线点餐系统经常关闭以避免拥挤尤其是在午餐和晚餐时间。该系统的关闭时间不确定。北邮的学生认为这非常麻烦。然而北邮学生无所畏惧。北京邮电大学最优秀的学生之一(也是北邮ICPC团队的一员)Zhai Xie (ThomasX)在飞书上开发了一个实时监控机器人它告诉我们麦当劳在线点餐系统的实时状态。有了这个机器人北邮学生可以更方便地点餐。
北邮的麦当劳和它的点餐系统在07:00:00开始工作点餐系统在22:00:01关闭。麦当劳一共有N种食物和M种套餐类型。每种套餐中包含多种食物。具体配置信息将在菜单文件dict.dic中提供。对于制作和存储每种食物规定第i种食物在ti秒内完成其最大存储容量为capi表示该种食物最多可以存储capi个。
麦当劳系统每天开放前所有食物存储容量都为0在任何时间点如果某种食物的存储量小于capi 则会立即制作该食物直到达到capi 。其中不同种类食物可以同时制作同种类食物只能依次制作。
从07:00:00到22:00:00(含)学生可以在系统中点餐(如果系统未关闭)。每天只有一天按照顺序有n个订单第i个订单发生在时间ai :bi :ci 。第i个订单要求一份typei typei ∈Mcombo∪Nfood其中Mcombo和Nfood分别表示全体的套餐和食物的集合类型的套餐或食物。如果点餐时系统关闭会导致点餐失败。
22:00以后如果还有之前的订单未完成则麦当劳会继续加班且保证23:59:59(含)前一定能完成所有订单。课题任务-规则
在每一秒的开始如果有新的食物完成则首先存储食物然后接受订单(如果存在)。
订单按照“先来先到异步处理”原则进行处理。
先来先到指的是对于有存量的食物总会被分配给时间最早的订单(套餐或单点)
异步处理指的是当一个订单(套餐或单点)因为请求的食物没有被全部满足时不必等待该订单完成可以直接处理下一个订单。
食物一旦被分配给订单就不能撤销。食物被分配给订单后即便该订单尚未完成该食物也不再占用对应类型的容量。
当订单(套餐或单点)中要求的所有食物均已被分配给该订单则该订单会立刻完成。
如果在某个时刻t0有人下了一个订单并且该订单无法立刻完成导致未完成订单的数量大于W1则系统立即自动关闭(不再接受订单)但该订单仍然算作成功下单。
如果在某个时刻t1未完成订单的数量小于W2则系统将在1秒后重新打开。即系统可以接受t11时刻的订单而不能接受t1时刻的订单。课题任务-OJ版输入
第一行包含一个整数n(1≤n≤54001)表示订单个数。
第二行包含两个整数W1,W2(2≤W2≤W1≤100)。
第三行包含N个整数t1, t2,...,tN(1≤ti≤70)其中ti表示第i种食物的制作时长。
第四行包含N个整数cap1,cap2,...,capN (1≤capi≤n)其中capi表示第i种食物的最大存储容量。
对于接下来的n行用格式类似于11:11:11的方式给出第i个订单的时间。然后输入一个字符串typeitypei ∈Mcombo∪Nfood表示套餐或食物的名称(参见dict.dic)。
测试用例保证订单时间在[07:00:00,22:00:00]内同一个时间点不可能出现多个订单第i-1个订单一定早于第i个(2≤i≤n)且23:59:59(含)前麦当劳一定能完成所有订单。具体见input.txt。 课题任务-OJ版输出
输出包括n行按照订单顺序输出订单完成时间。对于第i行如果第i个订单不成功则输出Fail。否则输出这个订单完成的时间。时间格式与输入格式(11:11:11)一致。具体见output.txt。
第一行给出N和M。其中N表示食物的种类数M表示套餐的种类数。
第二行包含N个字符串每个字符串name_i^food表示第i种食物的名称。
接下来M行其中的第i行包含多个字符串第一个字符串name_i^combo表示第i个套餐的名称后续的第j个字符串name_(i,j)^food表示第i个套餐中包含的第j种食物的名称。
具体见dict.dic。注系统每次运行时所读取的菜单文件内容可能不一样。
开发两个版本
控制台版本即OJ版。
图形化版本图形化技术自选但限定只能使用C语言或C语言。分组
OJ版一个人一组即个人完成。
图形化版本3人一组自行组队。WX: help-assignment