atcoder#ABC247B. [ABC247B] Unique Nicknames

[ABC247B] Unique Nicknames

题目描述

1 1 , 人 2 2 , \dots N N N N 人の人がいます。人 i i の姓は si s_i 、名は ti t_i です。

N N 人の人すべてにあだ名をつけることを考えます。人 i i のあだ名 ai a_i は以下の条件を満たす必要があります。

  • ai a_i は人 i i の姓あるいは名と一致する。言い換えると、ai = si a_i\ =\ s_i または ai = ti a_i\ =\ t_i の少なくとも一方が成り立つ。
  • ai a_i は自分以外の人の姓および名のどちらとも一致しない。言い換えると、1  j  N, i  j 1\ \leq\ j\ \leq\ N,\ i\ \neq\ j を満たすすべての整数 j j について ai  sj a_i\ \neq\ s_j かつ ai  tj a_i\ \neq\ t_j が成り立つ。

N N 人全員に条件を満たすあだ名をつけることは可能でしょうか。可能ならば Yes を、そうでないならば No を出力してください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N s1 s_1 t1 t_1 s2 s_2 t2 t_2 \vdots sN s_N tN t_N

输出格式

N N 人すべてにあだ名をつけることが可能ならば Yes を、そうでないならば No を出力せよ。

题目大意

给定 n n 个人的姓和名,定义一个人的昵称为他的姓或名,且一个人的昵称不能与其他人的姓或名重复,判断给定的数据是否能为每个人钦定一个昵称。可行输出 Yes,反之输出 No

3
tanaka taro
tanaka jiro
suzuki hanako
Yes
3
aaa bbb
xxx aaa
bbb yyy
No
2
tanaka taro
tanaka taro
No
3
takahashi chokudai
aoki kensho
snu ke
Yes

提示

制約

  • 2  N  100 2\ \leq\ N\ \leq\ 100
  • N N は整数である。
  • si,ti s_i,t_i は英小文字からなる 1 1 文字以上 10 10 文字以下の文字列である。

Sample Explanation 1

a1 = a_1\ = taro, a2 = a_2\ = jiro, a3 = a_3\ = hanako とすれば、これは問題文にあるあだ名の条件を満たしています。(a3 a_3 suzuki でもよいです。) ここで、a1 = a_1\ = tanaka とはできないことに注意してください。なぜならば 人 2 2 の姓 s2 s_2 もまた tanaka であるため、あだ名の条件の 2 2 つ目を満たさなくなるからです。

Sample Explanation 2

問題文の条件を満たすあだ名のつけ方は存在しません。

Sample Explanation 3

同姓同名である人の組が存在する場合もあります。

Sample Explanation 4

a1 = a_1\ = chokudai, a2 = a_2\ = kensho, a3 = a_3\ = ke とすればよいです。