atcoder#ABC247B. [ABC247B] Unique Nicknames
[ABC247B] Unique Nicknames
配点 : 点
問題文
人 , 人 , 人 の 人の人がいます。人 の姓は 、名は です。
人の人すべてにあだ名をつけることを考えます。人 のあだ名 は以下の条件を満たす必要があります。
- は人 の姓あるいは名と一致する。言い換えると、 または の少なくとも一方が成り立つ。
- は自分以外の人の姓および名のどちらとも一致しない。言い換えると、 を満たすすべての整数 について かつ が成り立つ。
人全員に条件を満たすあだ名をつけることは可能でしょうか。可能ならば Yes
を、そうでないならば No
を出力してください。
制約
- は整数である。
- は英小文字からなる 文字以上 文字以下の文字列である。
入力
入力は以下の形式で標準入力から与えられる。
出力
人すべてにあだ名をつけることが可能ならば Yes
を、そうでないならば No
を出力せよ。
3
tanaka taro
tanaka jiro
suzuki hanako
Yes
taro
, jiro
, hanako
とすれば、これは問題文にあるあだ名の条件を満たしています。( は suzuki
でもよいです。)
ここで、 tanaka
とはできないことに注意してください。なぜならば 人 の姓 もまた tanaka
であるため、あだ名の条件の つ目を満たさなくなるからです。
3
aaa bbb
xxx aaa
bbb yyy
No
問題文の条件を満たすあだ名のつけ方は存在しません。
2
tanaka taro
tanaka taro
No
同姓同名である人の組が存在する場合もあります。
3
takahashi chokudai
aoki kensho
snu ke
Yes
chokudai
, kensho
, ke
とすればよいです。