3186: 【2001年提高组】统计单词个数

内存限制:125 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:2 解决:2

题目描述

给出一个长度不超过200的由小写英文字母组成的字母串(约定:该字串以每行20个字母的方式输入,且保证每行一定为20个)。要求将此字母串分成k份(1<k<=40),且每份中包含的单词个数加起来总数最大(每份中包含的单词可以部分重叠。当选用一个单词之后,其第一个字母不能再用。例如字符串this中可包含this和is,选用this之后就不能包含th)。
单词在给出的一个不超过6个单词的字典中。
要求输出最大的个数。


输入

每个测试文件只包含一组测试数据,其格式如下:
每组的第一行输入两个正整数p和k,p表示字串的行数,k表示分为k个部分。
接下来的p行,每行均有20个字符。
再接下来一行输入一个正整数s(1<=s<=6),表示字典中单词个数。
接下来的s行,每行输入一个单词。


输出

对于每组输入数据,输出一个整数,分别对应每组测试数据的相应结果。
下面是对样例数据的说明:
样例数据中对字母串分割的方式是:this/isabookyoua/reaoh


样例输入 复制

1 3
thisisabookyouareaoh
4
is
a
ok
sab

样例输出 复制

7