#abc285d. [abc285_d]Change Usernames
[abc285_d]Change Usernames
题目描述
你运营着一个拥有 个用户的网络服务。
第 个用户当前使用的用户名是 ,希望将其更改为 。
其中, 和 两两不同, 和 也是如此。
要确定是否存在一种适当的顺序来更改他们的用户名,以满足所有请求,并且满足以下条件:
- 每次只能更改一个用户的用户名;
- 每个用户的用户名只能更改一次;
- 更改用户名时,新的用户名不能在该时间点被其他用户使用。
约束条件
- 和 是由小写英文字母组成长度在 到 (含)之间的字符串。
- 两两不同。
- 两两不同。
输入
从标准输入中以以下格式给出:
输出
如果可以按照条件更改他们的用户名以满足所有请求,则打印 Yes
;否则打印 No
。
示例输入1
2
b m
m d
示例输出1
Yes
第一个用户使用当前用户名 b
,希望将其更改为 m
。
第二个用户使用当前用户名 m
,希望将其更改为 d
。
首先,将第二个用户的用户名从 m
更改为 d
;然后将第一个用户的用户名从 b
更改为 m
。这样,你就能够达到目标。
注意,你不能一开始就将第一个用户的用户名更改为 m
,因为此时它被第二个用户使用。
示例输入2
3
a b
b c
c a
示例输出2
No
第一个用户使用当前用户名 a
,希望将其更改为 b
。
第二个用户使用当前用户名 b
,希望将其更改为 c
。
第三个用户使用当前用户名 c
,希望将其更改为 a
。
我们无法按照条件更改他们的用户名。
示例输入3
5
aaa bbb
yyy zzz
ccc ddd
xxx yyy
bbb ccc
示例输出3
Yes