求助
  • 板块学术版
  • 楼主x2401002
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/8/18 20:32
  • 上次更新2024/8/18 23:31:18
查看原帖
求助
1367434
x2401002楼主2024/8/18 20:32

英语课本上有 n 个由小写英文字母组成的单词,现在强哥有一个烦恼,自己该怎么背这些英语单词呢。

聪明的强哥很快的就想到了一个办法,他想通过重新安排背单词的顺序,使得对于每个由小写英文字母组成的单词,在其前面背诵的单词都是其子字符串(完全相等的两个串也是各自的子字符串)。 比如单词"for"是"forces", "for"和 "jijdiaofor"的子串,但是它不是"four", "ffrr"和"rof"的子串。 。

这样强哥背完一个单词之后,就只需要再背少数字母,就又可以背出下一个单词了。

想到这里,强哥不禁感叹自己真是个大聪明,欢快的拍起了肚皮。 输入格式 输入第一行为 T ,表示有 T 组数据 ( 1 ≤T ≤ 10 ) (1≤T≤10)。

每组数据第一行包括一个整数 n ( 1 ≤ n ≤ 100 ) (1≤n≤100)——表示强哥要背的单词的数量。

接下来输入 n 行,每行的单词的字母数量是从1到100的,并且每个单词都是由小写英文字母组成。

(有的单词可能相等。)

输出格式 如果无法按照给定的要求安排背单词的顺序,输出"NO"(不带引号)。表示强哥觉得肯定背不完单词了,直接摆烂。

否则输出"YES"(不带引号),并且输出安排好顺序的

n 个单词。 样例1: 1 5 b aba abacaba ab aba 输出 YES b ab aba aba abacaba

样例2: 2 5 a abacaba ba aba abab 3 aaa aaa aaa

输出: NO YES aaa aaa aaa

2024/8/18 20:32
加载中...