Morning_X的彩虹

TimeLimit:1000MS  MemoryLimit:128MB
64-bit integer IO format:%lld
未提交 | 登录后收藏
Problem Description

Morning_X又来搞事情了。这个人他非常的喜欢彩虹。于是他做了一个彩虹制造机,希望能够造出来一个美美的彩虹给自己观赏一下。结果这个制造机喷出来的居然不是彩虹。而是一个个字母,而且这个机器居然变成了人工智障。
现在这个人工智障跟Morning_X说我现在会先喷出一个字符串A,再喷出第一个字符串之后,我会再喷出n个字符串B1,B2,……,Bn,你要在我喷出的n个字符串当中找到以A为前缀的字符串,然后将它输出,如果没有则输出A。如果你不能完成以上操作,我就不会喷出来彩虹给你看。
Morning_X最近敲代码敲傻了脑子不太好用,所以他现在拜托你们写个程序出来帮帮他吧!

注:

字符串A是字符串B的前缀当且仅当A==B或者

B=A***……**  其中*号代表任意字符

比如

abc 是 abcd,和abcde,abca的前缀,

而abc 不是ababcac的前缀

Input

第一行是一整数T,代表有T组数据

接下来每组数据格式如下

第一行输入一个字符串s。
第二行输入一个整数n (1 ≤ n ≤ 100)
接下来n行每行输入一个字符串
字符串大小都在1到100之间,只由英文字母组成

数据组数<=200

Output

输出前缀是字符串s的字符串,如果没有以s为前缀的字符串则输出s。如果有很多个前缀为s的,则输出字典序最小的字符串。


小知识:

字典序,顾名思义就是字典里排列单词的顺序

设想一本英语字典里的单词,何者在前何者在后?

显然的做法是先按照第一个字母、以 a、b、c……z 的顺序排列;如果第一个字母一样,那么比较第二个、第三个乃至后面的字母。如果比到最后两个单词不一样长(比如,sigh 和 sight),那么把短者排在前。

用数学语言描述就是 若a1a2a3……an小于b1b2b3……bm  当且仅当存在k<min(n,m)使得a1a2a3……an == b1b2b3……bm 且ak<bk 

或者n<m且a1a2a3……an = b1b2b3……bn

例如

a,aa,ba,bb,ca,caa

就是按字典序排序的

SampleInput
2
next
2
nextpermutation
nextelement
find
4
find
findfirstof
findit
fand
SampleOutput
nextelement
find
Submit
题目统计信息详细
总AC数135
通过人数118
尝试人数132
总提交量283
AC率41.70%
AC该题后可以添加标签
贴完标签可以获得20ACB。
并且可以获得本题所有提交代码查看权限。
点击标题可以显示标签。
如果你还没认真思考过这题,请不要查看标签
如果您已经通过了该题,请务为该题贴上标签

T^T Online Judge

[BUG反馈] [FAQ] [闽ICP备17026590号-1]
当前版本:3.24 系统时间: