问题 2413 --子字符串排序

2413: 子字符串排序

时间限制: 1 Sec  内存限制: 128 MB
提交: 58  解决: 26
[提交][状态][命题人:]

题目描述

曹老师有  n 个字符串,他想对这些字符串进行排序,使得在排完序后的字符串序列中,对于每个字符串 s ,排在它前面的都是字符串 s 的子字符串。

如果在字符串B中选取若干个连续字符,可以构成字符串A,我们称字符串A是字符串B的子字符串。例如"for"是"codeforces", "for" 和"therefore"的子字符串,但不是"four", "fofo"和"rof"的子字符串。

输入

输入包含一组测试数据。

第一行输入一个整数n(1<=n<=100),表示有n个字符串。

接下来n行,每行输入一个字符串。

输出

若可以对这n个字符串进行排序,使其满足条件,则第一行输出"YES",接下来 n 行,每行输出一个字符串,表示排完序后的 n 个字符串。若不行,则输出一行“NO”。
样例输入
Copy
5
a
aba
abacaba
ba
aba
样例输出
Copy
YES
a
ba
aba
aba
abacaba

提示

来源

[提交][状态]