SP5103 TOP10 - Top 10

题目描述

## 题目翻译 ### 题面 给你一本词典,包含 $n$ 个单词(单词仅由小写字母组成,且整个字典中的字符总数 $\le1e5$),每个单词附有一个序号(序号按顺序从 $1$ 到 $n$)。 你需要回答 $Q$ 次询问,每次查询将会给你一个单词(同样仅由小写字母组成),对于每次查询,你需要打印关于给定单词的 $\text{"Top 10"}$。 对于一个单词,关于它的 $\text{"Top 10"}$ 的规定如下: 1. $\text{"Top 10"}$ 中的所有单词均在给定词典中。 2. $\text{"Top 10"}$ 中的所有单词均存在一个子串与给定单词相同。 3. $\text{"Top 10"}$ 中的单词按长度从小到大的顺序进行排列, 若两单词长度相同,则按字典序从小到大的顺序进行排列, 若两单词的字典序也相同,则按出现顺序的先后进行排列。 4. 若字典中有 $\ge 10$ 个单词满足上述条件则只取前十个,反之,取全部满足条件的单词即可(即 $\text{"Top 10"}$ 中的单词数量应 $\le 10$) 5. 为了方便记录,$\text{"Top 10"}$ 中单词存在的方式并不是单词本身,而是以单词在给定词典中的序号的形式存在的。 特别地,若 $\text{"Top 10"}$ 中没有任何单词,$\text{"Top 10"}$ 将会包含一个序号为 $-1$ 的单词。 ***

输入格式

第一行包含一个数字 $n$; 第 $2$ ~ $(n+1)$ 行包含所给词典中的 $n$ 个单词(第 $i$ 行的单词是标签为 $i$ 的单词); 第 $(n+2)$ 行包含一个数字 $Q$; 第 $(n+3)$ ~ $(n+Q+2)$ 行包含 $Q$ 次查询。 ***

输出格式

对于每次查询,输出一行,包含对于所给单词的 $\text{"Top 10"}$。 ***

说明/提示

$Q\le 1e5,n