#4276. Unique Nicknames

0
    ID: 4276 传统题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 1 上传者: 标签>AtCoderabc247BGESP 3级字符串枚举(双层循环)

Unique Nicknames

Unique Nicknames

题目描述

有 NN 个人,编号为 Person 11、Person 22、…\dots、Person NN。第 ii 个人有姓 sis_i 和名 tit_i。 考虑给这 NN 个人分别起一个昵称。第 ii 个人的昵称 aia_i 应满足以下所有条件。

aia_i 与第 ii 个人的姓或名相同。换句话说,ai=sia_i = s_i 和/或 ai=tia_i = t_i 成立。 aia_i 不得与任何其他人的姓或名相同。换句话说,对于所有满足 1≤j≤N1 \leq j \leq N 且 i≠ji \neq j 的整数 jj,都应满足 ai≠sja_i \neq s_j 且 ai≠tja_i \neq t_j。

是否可能为所有 NN 个人指定昵称?如果可能,打印 YesYes;否则,打印 NoNo。

输入格式

输入从标准输入按以下格式给出: NN s1s_1 t1t_1 s2s_2 t2t_2 ⋮\vdots sNs_N tNt_N

输出格式

如果可以为所有 NN 个人指定昵称,打印 YesYes;否则,打印 NoNo。

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≤1002 \leq N \leq 100 NN 是整数。 sis_i 和 tit_i 是长度在 11 到 1010(含)之间的由小写英文字母组成的字符串。下面的分配满足题目陈述中描述的昵称条件:a1=a_1 = tarotaro, a2=a_2 = jirojiro, a3=a_3 = hanakohanako. (a3a_3 也可以是 suzukisuzuki。)
但是,注意我们不能让 a1=a_1 = tanakatanaka,这会违反昵称的第二个条件,因为第 2 个人的姓 s2s_2 也是 tanakatanaka.
没有办法给出满足题目陈述中条件的昵称。
可能存在一对人的姓和名都相同。
我们可以令 a1=a_1 = chokudaichokudai, a2=a_2 = kenshokensho, 和 a3=a_3 = keke.

标签: AtCoder|abc247B

来源

AtCoder|abc247B