#aBC247B. [ABC247B] Unique Nicknames

[ABC247B] Unique Nicknames

AT_abc247_b [ABC247B] Unique Nicknames

题目描述

NN 个人,分别为人 11、人 22\dots、人 NN。第 ii 个人的姓为 sis_i,名为 tit_i

现在要为这 NN 个人每人取一个昵称。第 ii 个人的昵称 aia_i 需要满足以下条件:

  • aia_i 必须等于第 ii 个人的姓或名。换句话说,ai=sia_i = s_iai=tia_i = t_i 至少有一个成立。
  • aia_i 不能等于除自己以外任何人的姓或名。也就是说,对于所有满足 1jN,ij1 \leq j \leq N,\, i \neq j 的整数 jj,都有 aisja_i \neq s_jaitja_i \neq t_j

请判断是否可以为所有 NN 个人都取出满足条件的昵称。如果可以,输出 Yes,否则输出 No

输入格式

输入以如下格式从标准输入给出。

NN
s1s_1 t1t_1
s2s_2 t2t_2
\vdots
sNs_N tNt_N

输出格式

如果可以为所有 NN 个人都取出满足条件的昵称,输出 Yes;否则输出 No

输入输出样例 #1

输入 #1

3
tanaka taro
tanaka jiro
suzuki hanako

输出 #1

Yes

输入输出样例 #2

输入 #2

3
aaa bbb
xxx aaa
bbb yyy

输出 #2

No

输入输出样例 #3

输入 #3

2
tanaka taro
tanaka taro

输出 #3

No

输入输出样例 #4

输入 #4

3
takahashi chokudai
aoki kensho
snu ke

输出 #4

Yes

说明/提示

限制条件

  • 2N1002 \leq N \leq 100
  • NN 是整数。
  • si,tis_i, t_i 是由小写英文字母组成的字符串,长度在 111010 之间。

样例解释 1

a1=taroa_1 = \texttt{taro}a2=jiroa_2 = \texttt{jiro}a3=hanakoa_3 = \texttt{hanako},这样就满足了题目中昵称的条件。(a3a_3suzuki\texttt{suzuki} 也可以。)注意,a1a_1 不能取 tanaka\texttt{tanaka},因为第 22 个人的姓 s2s_2 也是 tanaka\texttt{tanaka},这样就不满足昵称的第二个条件。

样例解释 2

不存在满足题目条件的昵称的取法。

样例解释 3

也可能存在同姓同名的人。

样例解释 4

a1=chokudaia_1 = \texttt{chokudai}a2=kenshoa_2 = \texttt{kensho}a3=kea_3 = \texttt{ke} 即可。

由 ChatGPT 4.1 翻译