atcoder#ABC285D. [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