欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF501B.Misha and Changing Handles
Misha and Changing Handles
题目描述
Misha 攻破了 Codeforces 网站。然后他决定让所有用户都可以更改他们的用户名。现在,用户可以任意多次更改自己的用户名。但每个新的用户名都不能与已经被使用过或曾经被使用过的用户名相同。
Misha 有一份用户名更改请求的列表。在所有请求处理完成后,他想了解每位用户的原始用户名与新用户名之间的对应关系。请你帮他完成这个任务。
输入格式
第一行为整数 (),表示用户名更改请求的数量。
接下来的 行,每行包含一个请求的描述。
每个请求由两个非空字符串 和 组成,中间以一个空格分隔。这两个字符串都只包含大小写拉丁字母和数字。 和 是不同的字符串。每个字符串的长度不超过 。
请求按照时间顺序给出。也就是说,在每一个请求时,只有一个人拥有用户名 ,而 尚未被任何人使用,也从未被使用过。
输出格式
输出第一行为整数 ,表示至少更改过一次用户名的用户数量。
接下来的 行,每行输出两个字符串 和 ,用空格分隔,表示该用户最初的用户名为 ,在所有请求完成后他的用户名为 。输出的行顺序可以任意。
每个更改过用户名的用户在这个描述中只能出现一次。
说明/提示
由 ChatGPT 5 翻译
样例
5
Misha ILoveCodeforces
Vasya Petrov
Petrov VasyaPetrov123
ILoveCodeforces MikeMirzayanov
Petya Ivanov
3
Petya Ivanov
Misha MikeMirzayanov
Vasya VasyaPetrov123
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |