改变命运的人
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

这是网上的一段小短文,现在你成为了命运的管理员,掌握了两个人的人生轨迹。
每个人都有若干条命运记录,每条记录由一个日期和一个行为组成,例如:
2005-07-18 birth
表示这个人在 2005-07-18 这一天发生了 birth 这一命运事件。
接下来会进行若干次操作。每次操作中,一方会修改另一方的一条命运记录,同时自己也要付出代价:将自己时间最早出现的 happy 命运改为 unhappy。
你需要按照操作顺序依次执行所有修改,并输出两个人最终的命运列表。
输入描述
第一行输入三个整数
分别表示:
- 第一个人的初始命运条数为
- 第二个人的初始命运条数为
- 操作次数为
接下来 行,描述第一个人的初始命运。
每行两个字符串 date action,表示一条命运记录。
再接下来 行,描述第二个人的初始命运。
每行两个字符串 date action,表示一条命运记录。
接下来共有 行,每 行为一组,表示一次操作:
第 行为一个整数 :
- :表示第一个人修改第二个人的命运
- :表示第二个人修改第一个人的命运
第 行输入两个字符串 old_date old_action,表示被修改者当前已有的一条命运记录
第 行输入两个字符串 new_date new_action,表示这条命运记录被修改后的新内容
数据保证对于每次操作:
- 被修改者的命运列表中,一定存在且仅存在一条记录恰好等于
old_date old_action。 - 操作者的命运列表中,一定至少存在一条行为为
happy的记录。 - 日期字符串格式固定为
YYYY-MM-DD,且可以按字典序比较日期先后。 - 命运字符串长度
操作规则
对于每次操作,按如下顺序执行:
- 找到被修改者命运列表中那条等于
old_date old_action的记录 - 将其修改为
new_date new_action - 在操作者的命运列表中,找到日期最早的一条
happy记录,将它的行为改为unhappy
特别地:若有多条 happy 记录,取日期最早的一条。题目保证每次操作时,操作者一定存在至少一条 happy 记录,因此不会出现无法修改的情况
输出描述
输出两部分。
第一部分输出第一个人最终的命运,共 行。 第二部分输出第二个人最终的命运,共 行。
每行输出两个字符串:
date action
输出顺序与各自命运列表中的当前顺序一致。
说明:“修改一条命运”仅改变该条记录的内容,不改变它在命运列表中的位置。将 happy 改为 unhappy 时,同样只修改该记录的行为,不改变其位置
样例输入
3 2 2
2005-07-18 birth
2005-07-20 happy
2005-07-22 study
2005-07-19 happy
2005-07-21 travel
1
2005-07-21 travel
2005-07-21 ill
2
2005-07-22 study
2005-07-22 success
样例输出
2005-07-18 birth
2005-07-20 unhappy
2005-07-22 success
2005-07-19 unhappy
2005-07-21 ill
2026南京晓庄学院团体程序设计天梯赛组队排位赛
- 状态
- 已结束
- 规则
- IOI
- 题目
- 12
- 开始于
- 2026-4-7 13:30
- 结束于
- 2026-4-7 16:45
- 持续时间
- 3.3 小时
- 主持人
- 参赛人数
- 38