1078: [NOIp2001 提高组] 统计单词个数

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

题目描述


给出一个长度不超过 $200$ 的由小写英文字母组成的字母串(该字串以每行 $20$ 个字母的方式输入,且保证每行一定为 $20$ 个)。要求将此字母串分成
 $k$ 份,且每份中包含的单词个数加起来总数最大。  

每份中包含的单词可以部分重叠。当选用一个单词之后,其第一个字母不能再用。例如字符串 `this` 中可包含 `this` 和 `is`,选用 `this` 之后就不能包含
 `th`。

单词在给出的一个不超过 $6$ 个单词的字典中。

要求输出最大的个数。

输入

每组的第一行有两个正整数 $p,k$。
$p$ 表示字串的行数,$k$ 表示分为 $k$ 个部分。

接下来的 $p$ 行,每行均有 $20$ 个字符。

再接下来有一个正整数 $s$,表示字典中单词个数。
接下来的 $s$ 行,每行均有一个单词。

输出

$1$ 个整数,分别对应每组测试数据的相应结果。

样例输入 复制

1 3
thisisabookyouareaoh
4
is
a
ok
sab

样例输出 复制

7

提示


**【样例解释】**

划分方案为 this / isabookyoua / reaoh

**【数据范围】**

对于 $100\%$ 的数据,$2 \le k \le 40$,$1 \le s \le 6$。

NOIp2001 提高组T3