#P1082. Brainrot Memes 2
Brainrot Memes 2
tag
欧拉路径
Background
如果您对题目背景不感兴趣,可以阅读形式化题面,但还是建议简单浏览题目背景。如果您阅读了题目背景,也建议阅读形式化题面取得更准确的理解。
最近 xing4c 不满足于看简单的 Brainrot Meme 了,他开始寻求一些更刺激的东西。
比如,下面这个 brainrot animal 就很好玩:(警告:该图片可能包含令人不适的内容。)
查看图片
《梦 魇 融 合 怪》
它是由许多 brainrot animal 融合成的。因此,它的名字也非常有趣:
trippa troppa tralala lilirila tung tung sahur boneka tung tung tralalelo trippi troppa crocodina
不难看出,它的名字就是由组成它的 brainrot animal 的名字拼接组合而成。
xing4c 从某些禁忌知识中学习到了相关的方法,觉得研究这样的一种 brainrot animal 最好的方法就是把它的名字切分成若干部分,分别进行研究。于是,他决定进行这样的切分:对于一个 brainrot animal 的名字,每 个字符进行一次拆分,得到若干个字符串。所以,对于长度为 的 brainrot animal 的名字,就可以分解为 个长度为 的字符串。
比如,我们忽略这个融合怪名字中的空格,它的名字 trippatroppatralalalilirilatungtungsahurbonekatungtungtralalelotrippitroppacrocodina 就可以拆分成 tri, rip, ipp, ppa, , ina 之类的字符串。
xing4c 在拆分其名字时获得了巨大的满足,以至于他兴奋地晕了过去。醒来的时候,只剩下满脸的恍惚和眼前的残局:他切分出的 brainrot animal 的名字全都被打乱了,其中切分出的一些名字甚至可能发生了改变!
xing4c 非常悲伤,因为如果他不能将 brainrot animal 的名字拼回去,他就不能再观赏对应的 brainrot animal 了。于是他非常需要知道,对于现有的 个长度为 的字符串,能否重新拼接为长度为 的字符串,以恢复原本的 brainrot animal?当然,如果按照规则拼接后可以得到与原本 brainrot animal 名字不同的另一个满足规则的名字也是可以的。
不幸的是,由于看多了 brainrot meme,xing4c 的大脑已经腐烂了,加上他现在很悲伤,所以无法自己解决这个问题。你能帮帮他吗?
Description
给出 个长度为 的字符串,判断这 个字符串能否拼接为长度为 的字符串。即,判断这 个字符串是否为某个长度为 的字符串的所有长度为 的子串。
一个字符串 的子串是一个非空的字符串 $t = s_{a...b} = s_as_{a+1}\cdots s_b \ (1 \le a \le b \le |s|)$,比如,xin 和 ng4 是 xing4c 的子串,而 x4c 不是。
Input
第一行包含一个整数 ,表示长度为 的字符串的数量。
之后 行,每行一个长度为 的,只包含大小写英文字母和数字的字符串,表示 xing4c 切分得到的一个字符串。
Output
输出的第一行格式如下:如果最后能够拼接为一个长度为 的字符串,输出字符串 YES,否则输出 NO。
如果输出了 YES,则第二行应该输出拼接得到的长度为 的字符串。如果有多个解,输出其中任意一个即可。
Samples
6
xin
ng4
Imx
g4c
mxi
ing
YES
Imxing4c
4
Tun
ung
Sah
hur
NO
4
aaa
aaa
aaa
aaa
YES
aaaaaa
Resources
2025 UESTC ICPC Training for Graph