{"problem":{"name":"[语言月赛 202509] 挂号系统","description":{"content":"自从小 S 频繁独自出入医院解决牙齿问题，他对医院的挂号系统也逐渐熟悉。 这里你只需要模拟一天的挂号系统。 本题中的时刻均为 $24$ 小时制，用 $\\textrm{hh mm}$ 表示。题中的姓名为长度不少于 $3$、不超过 $15$ 且仅由小写字母组成的字符串。 病人来到医院前，需要提前**挂号**，挂号时会预约**治疗时间**和**医生**。病人最早可以在治疗时间前 $1$ 小时（含）","description_type":"Markdown"},"platform":"Luogu","limit":{"time_limit":1000,"memory_limit":524288},"difficulty":{"LuoguStyle":"P3"},"is_remote":true,"is_sync":true,"sync_url":null,"sign":"LGB4408"},"statements":[{"statement_type":"Markdown","content":"自从小 S 频繁独自出入医院解决牙齿问题，他对医院的挂号系统也逐渐熟悉。\n\n这里你只需要模拟一天的挂号系统。\n\n本题中的时刻均为 $24$ 小时制，用 $\\textrm{hh mm}$ 表示。题中的姓名为长度不少于 $3$、不超过 $15$ 且仅由小写字母组成的字符串。\n\n病人来到医院前，需要提前**挂号**，挂号时会预约**治疗时间**和**医生**。病人最早可以在治疗时间前 $1$ 小时（含）进行**签到**，但若签到时间晚于治疗时间，会被记作**迟到**。签到成功后，该病人将被加入对应医生的治疗队列。同时，病人的预约会被删除。如果病人签到成功后再次签到，则视为签到失败。\n\n每名医生有一个治疗队列。当一名医生**叫号**时，队列首的病人将前往治疗，同时该病人从队列中被移除。**叫号**时，屏幕上会显示病人的名字。\n\n每名医生的队列将按如下规则排序：\n\n1. 对于未迟到的病人，按照**治疗时间**排序；若**治疗时间**相同，按照**挂号时间**排序。\n2. 对于迟到的病人，按照**签到时间**排序。\n3. 未迟到的病人总是在迟到的病人前。\n\n在一天中，有 $T$ 个事件，保证所有事件按照**时间顺序**发生，同一时刻不会发生多个事件。每个事件形如：\n\n- 挂号：`<Now> appointment <Name> <Doctor> <Time>`\n  \n  其中 `<Now>` 表示该事件的发生时刻，`<Name>` 表示病人的名字，`<Doctor>` 表示医生的名字，`<Time>` 表示治疗时间。保证挂号事件一定合法，一个病人只会预约一次。\n\n- 签到：`<Now> register <Name>`\n\n  其中 `<Now>` 表示该事件的发生时刻，`<Name>` 表示病人的名字。\n  \n  若该病人预约过，且此时已经在治疗时间前 $1$ 小时（含）之后，认为预约成功。你需要输出 `Success` 并将病人加入医生的治疗队列。同时，你需要将该病人的预约信息删除。\n  \n  否则，输出 `Fail`。此时病人的预约信息不会被删除。\n  \n  如果病人签到成功后再次签到，则视为签到失败，输出 `Fail`。\n\n- 叫号：`<Now> query <Doctor>`\n\n  其中 `<Now>` 表示该事件的发生时刻，`<Doctor>` 表示医生的名字。\n  \n  若该医生的治疗队列非空，按照上述规则输出队列首病人**加密后**的名字。加密方式为，除了第一个字符和最后一个字符，均替换为 `*`。如 `chenzhe` 变为 `c*****e`。\n  \n  否则输出 `No patient`。\n\n## Input\n\n第一行一个正整数 $T$，表示一天中发生的事件数。\n\n接下来 $T$ 行，按照时间顺序，一行给出一个事件。\n\n## Output\n\n输出若干行，按照题意输出。\n\n[samples]\n\n## Note\n\n### 样例 1 解释\n\n1. littles 在 $08:30$ 预约了 docs 医生。预约的治疗时间为 $14:30$。\n2. littles 在 $08:31$ 尝试签到，但是由于此时距离治疗时间过早，签到失败。\n3. chenrn 医生叫号，但是没有已签到的病人。\n4. docs 医生叫号，但是没有已签到的病人。\n5. littles 在 $13:50$ 尝试签到，此时已经在治疗时间前一小时之后，签到成功。\n6. docs 医生叫号，littles 前往治疗。\n\n### 数据规模与规定 \n\n对于 $100\\%$ 的数据，$1\\le T\\le 1440$。\n\n|  测试点编号 | 特殊性质 |\n|:-:|:-:|\n| $1$  | $T = 5$|\n| $2\\sim 4$  | 没有病人迟到 |\n| $5\\sim 6$  | 没有病人不迟到 |\n| $7$  | 签到总是成功 |\n| $8$  | 所有预约的医生相同 |\n| $9\\sim 10$  | 无 |\n\n输入的时间中可能出现 $24:00$ 时刻，即，$\\text{hh} = 24, \\text{mm} = 00$。","is_translate":false,"language":"English"}],"meta":{"iden":"LGB4408","tags":["模拟","2025","排序","字符串（入门）","结构体","语言月赛"],"sample_group":[["6\n08 30 appointment littles docs 14 30\n08 31 register littles\n10 00 query chenrn\n10 03 query docs\n13 50 register littles\n14 20 query docs","Fail\nNo patient\nNo patient\nSuccess\nl*****s\n"],["5\n00 32 appointment ghefau eker 10 19\n03 28 appointment scccc eker 10 30\n10 20 register scccc\n10 21 register ghefau\n10 25 query eker","Success\nSuccess\ns***c\n"],["14\n07 56 appointment gjyed hnbx 10 34\n08 03 query hnbx\n08 06 appointment nbrp hnbx 10 48\n08 44 query hnbx\n09 29 register nbrp\n09 58 query hnbx\n10 31 register gjyed\n15 09 appointment eiux ygssgy 15 34\n15 13 query hnbx\n15 15 register eiux\n17 08 query hnbx\n18 54 appointment nrg hnbx 19 18\n19 28 query hnbx\n19 57 register nrg","No patient\nNo patient\nFail\nNo patient\nSuccess\ng***d\nSuccess\nNo patient\nNo patient\nSuccess\n"]],"created_at":"2026-03-03 11:09:25"}}