P70 [P1026] [NOIP 2001 提高组] 统计单词个数
普及+
题目描述

给出一个长度不超过 $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
提示

【数据范围】

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

【样例解释】

划分方案为 this / isabookyoua / reaoh

【题目来源】

NOIP 2001 提高组第三题

本题源自洛谷 P1026