测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A72. 统计单词个数

编程题 普及/提高-
知识点

题目描述

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

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

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

要求输出最大的个数。

输入格式

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

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

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

输出格式

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

输入输出样例

输入 #1
1 3
thisisabookyouareaoh
4
is
a
ok
sab
输出 #1
7

说明/提示

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

【样例解释】
划分方案为 this / isabookyoua / reaoh

**【题目来源】**

NOIP 2001 提高组第三题
上一题 去做题 下一题