Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:1 s 空间限制:256 MB

#2316. [USACO12DEC]第一!First!

Statistics

题目描述

贝西发现通过改变字母表的顺序,她可以使一些字符串按字典顺序排在所有其他字符串之前(字典顺序)。
例如,贝西发现,对于字符串“omm”、“moo”、“mom”和“ommnom”,她可以使用标准字母表使“mom”首先出现,并且可以使用字母表“abcdefghijklonmpqrstuvwxyz”使“omm”首先出现。然而,贝西想不出任何办法让“moo”或“ommnom”先出现。
通过计算输入中可能包含的字符串来帮助贝西通过重新排列字母表的顺序来进行词典编纂。要计算字符串X是否在字符串Y之前按字典顺序排列,请找到它们不同的第一个字符的索引,j。如果不存在这样的索引,那么如果X短于Y,那么X在字典上在Y之前。否则,如果X[j]在字母表中出现的时间早于Y[j],则X在词典中位于Y之前。

输入格式:

第1行:包含N(1<=N<=30000),即贝西的字符串的数量。
第2..1+N行:每行包含一个非空字符串。所有字符串中的字符总数将不超过300000。输入中的所有字符都将是小写字符“a”到“z”。输入将不包含重复的字符串。

输出格式:

第1行:K,按字典顺序排列的第一个字符串的数目。
第2..1+K行:第(1+i)行应包含第i个字符串,该字符串可以按字典顺序排在第一位。字符串的输出顺序应与输入中给定的顺序相同。

输入样例#1:

4 
omm 
moo 
mom 
ommnom 

输出样例#1:

2 
omm 
mom