小慕正在开发一套智能呼叫转移系统,用于管理项目成员之间的消息传递。每当有新的任务通知到达时,系统需要决定是由当前成员接听,还是将任务转移给其他成员。转移机制可以让任务从一个成员流转到另一个。每个成员会根据自己当前的工作状态来决定是否触发转移。 状态说明 项目成员在接收任务通知时,可能处于以下四种状态之一: - `idle`:空闲状态,成员准备好接收新任务。 - `busy`:忙碌状态,成员正在处理其他任务,无法接听新的通知。 - `no-response`:未响应状态,成员处于离线或无法及时回应的状态。 - `unreachable`:无法到达状态,成员因网络或设备问题无法被联系。 呼叫转移 小慕可以为每个成员登记多个转移规则,每种规则会在不同的状态下触发。成员可以登记以下五种转移类型,格式为:`type number`,其中`type`代表转移类型,`number`代表接收任务的其他成员的编号。 - `type = 0`:无条件转移,优先级最高,成员处于任何状态下都触发此转移。 - `type = 1`:当成员处于`busy`状态时触发此转移。 - `type = 2`:当成员处于`no-response`状态时触发此转移。 - `type = 3`:当成员处于`unreachable`状态时触发此转移。 - `type = 4`:,优先级最低,成员处于`idle`状态以外的任何状态下,且无法触发上述四种转移时,才触发此转移。 注:同一状态可以登记多次,且会以最后一次登记为准。 呼叫结果 当一个成员被呼叫时,需要根据其当前状态和登记的转移规则,决定呼叫的结果。具体规则如下: - 如果呼叫被转移,则输出转移目标的成员编号。 - 如果成员处于`idle`状态,并且未发生转移,则输出`success`,表示呼叫成功。 - 如果没有发生转移,且呼叫无法成功接通,则输出`failure`。
提示:带虚线的词点一下有通俗解释。
输入描述
- 第一行包含两个值:`num`(表示转移魔法登记的次数,`0 < num <= 20`)和`status`(表示魔法使者的当前状态)。 - 接下来`num`行,每行包含两个值:`type`(转移类型)和`number`(转移目标的符咒号码,长度为6-15位)。
输出描述
输出一个字符串,表示最终的呼叫结果: - 如果发生转移,输出转移目标的符咒号码。 - 如果呼叫成功,输出`success`。 - 如果呼叫失败,输出`failure`。
示例
示例 1
输入
3 busy 2 18912345678 4 18912345678 4 13312345567
输出
13312345567
说明:魔法使者处于`busy`状态,且没有登记`busy`转移魔法,但登记了默认转移魔法,最终消息被转移到默认目标`13312345567`。
示例 2
输入
1 no-response 3 075587678100
输出
failure
说明:魔法使者处于`no-response`状态,但未登记`no-response`转移魔法,也没有登记默认转移魔法,因此消息无法接通,最终输出`failure`。
示例 3
输入
1 idle 3 075587678100
输出
success
说明:魔法使者处于`idle`状态,未登记无条件转移魔法,但由于状态空闲,消息成功接通,因此输出`success`。
时间限制 1000 ms · 内存限制 128 MB