#R285D. [ABC285D] Change Usernames
[ABC285D] Change Usernames
配点 : 点
問題文
あなたの運営する Web サービスには 人のユーザがいます。
番目のユーザの現在のユーザ名は ですが、 への変更を希望しています。 ここで、 は相異なり、 も相異なります。
ユーザ名を変更する順序を適切に定めることで、以下の条件を全て満たすように、全てのユーザのユーザ名を希望通り変更することができるか判定してください。
- ユーザ名の変更は 人ずつ行う
- どのユーザもユーザ名の変更は一度だけ行う
- ユーザ名の変更を試みる時点で他のユーザが使っているユーザ名に変更することはできない
制約
- は英小文字からなる 文字以上 文字以下の文字列
- は相異なる
- は相異なる
入力
入力は以下の形式で標準入力から与えられる。
出力
条件を全て満たすように全てのユーザのユーザ名を希望通り変更することができるとき Yes、できないとき No と出力せよ。
2
b m
m d
Yes
番目のユーザの現在のユーザ名は b であり、m への変更を希望しています。
番目のユーザの現在のユーザ名は m であり、d への変更を希望しています。
まず、 番目のユーザのユーザ名を m から d に変更し、
その後 番目のユーザのユーザ名を b から m に変更することで、条件を満たしながら変更することができます。
最初の時点では 番目のユーザのユーザ名が m なので、 番目のユーザのユーザ名を同じ m に変更することはできません。
3
a b
b c
c a
No
番目のユーザの現在のユーザ名は a であり、b への変更を希望しています。
番目のユーザの現在のユーザ名は b であり、c への変更を希望しています。
番目のユーザの現在のユーザ名は c であり、a への変更を希望しています。
条件を満たしながらユーザ名の変更を行うことはできません。
5
aaa bbb
yyy zzz
ccc ddd
xxx yyy
bbb ccc
Yes