编程题
### 题目描述 在未来 $114$ 世纪推出了一种新的编程语言,这种语言只包含小写英文字母,特殊之处在于它不使用常规的语句分隔符,一段代码就是一连串的小写英文字母,没有明确的断句。而其编译方式也是通过一个动态的编码集来将代码中连续的字符编译为程序来方便运行,一旦出现无法编译的片段将会导致编译的中止。 比如现有一个编码集 $D$ 包含四个编码 `[a,b,cc,dd]`,那么代码 `aabbccdd` 在编码集 $D$ 下是完全可执行的,因为整段代码可以由编码集 $D$ 的四个编码拼接组成,这段代码的可编译长度就是代码的长度 $8$,而代码 `abcdd` 在编码集 $D$ 下则只是部分可执行,只有代码开始部分的 `ab` 能够由编码集 $D$ 中的编码所组成,指令集中并没有编码 `[c,cdd]`,所以从此之后的代码将不能被编译,这段代码的可编译长度就是 $2$。 现在,给定一个编码集 $D$,请判断若干代码在该编码集下是否可被编译,并输出这段代码在编码集 $D$ 下可执行的最长前缀的长度。 ### 输入格式 第一行输入两个整数 $n$ 和 $k$,表示编码集 $D$ 中有 $n$ 个编码,并且有 $k$ 段代码需要分析。 接下来的 $n$ 行,每行输入一个字符串 $s$,表示编码集 $D$ 中的一个编码。 随后的 $m$ 行,每行为一个字符串 $t$,表示一个代码段。 ### 输出格式 对于每个输入的代码段,输出一行,表示这个代码段在编码集 $D$ 下可执行的最长前缀的长度。 ### 样例输入 ``` 3 4 aa b cc aaa aabbcc aabccc daabcc ``` ### 样例输出 ``` 2 6 5 0 ``` ### 测评数据规模 $1 \leq n,k,|s| \leq 20$,$1 \leq |t| \leq 10^4$,$s$ 和 $t$ 中都只包含小写英文字母。
查看答案
赣ICP备20007335号-2