题目描述
有NNN个由小写字母组成的模式串以及一个文本串TTT。每个模式串可能会在文本串中出现多次。你需要找出哪些模式串在文本串TTT中出现的次数最多。
输入输出格式
输入格式:输入含多组数据。
每组数据的第一行为一个正整数NNN,表示共有NNN个模式串,1≤N≤1501 \leq N \leq 1501≤N≤150。
接下去NNN行,每行一个长度小于等于707070的模式串。下一行是一个长度小于等于10610^6106的文本串TTT。
输入结束标志为N=0N=0N=0。
输出格式:对于每组数据,第一行输出模式串最多出现的次数,接下去若干行每行输出一个出现次数最多的模式串,按输入顺序排列。
输入输出样例
输入样例#1:
2abababababababac6betaalphahahadeltadedetatadedeltalphahahahototatalpha0
输出样例#1:
4aba2alphahaha
题解
写个AC自动机的板子上来。。。
反正就是先建一棵trie树,然后bfs找失配指针(类似KMP)。。。
然后再在上面搞些奇奇怪怪的东西。。。
代码
//by 减维#include#include #include #include #include #include #include #include