[Usaco2010 Dec]Letter 恐吓信
FJ 刚刚和邻居发生了一场可怕的争吵,他咽不下这口气,决定匿名发给他的邻居一封脏话连篇的信。
他有无限张完全相同的、已经打印好的信件,每张都包含 个字母。他想剪出其中一些片段并且粘贴成一个很长的字母串。FJ 太懒了,他想用最少的次数裁剪信件。他有一把举世无双的剪刀,可以从一封信中只剪一刀剪出连续的一段;同样,剪一刀也可以得到整个完整的字符串。
他想知道,他最少需要剪多少刀,从而获得这封 个字母的长信?保证这总是可能的。
考虑下面这封 个字母的信:
THEQUICKBROWNFOXDO
GJUMPSOVERTHELAZYDOG
以及 FJ 想要获得的 个字母的信:
FOXDOG
DOG
以上分行是为了读入方便,实际上这两封信分别就是 THEQUICKBROWNFOXDOGJUMPSOVERTHELAZYDOG 和 FOXDOGDOG。
由于 FOXDOG 已经存在了,FJ 可以剪一刀得到 FOXDOG;还剩下一个 DOG,FJ 可以选择其中任何一个 DOG 剪下来。因此,他一共要剪 刀。
输入格式
第一行两个空格分隔的整数 。
接下来若干行,每行不超过 个字母,拼接起来是 FJ 原来拥有的、长度为 的信。
再接下来若干行,每行不超过 个字母,拼接起来是 FJ 想要写的、长度为 的信。
输出格式
一行一个整数,表示 FJ 获得他想要写的信所需要剪的最少刀数。
样例输入
38 9
THEQUICKBROWNFOXDO
GJUMPSOVERTHELAZYDOG
FOXDOG
DOG
样例输出
2
样例解释
样例即为题目描述中的例子:先剪出 FOXDOG,再剪出 DOG,共 刀。
数据范围
- ;
- 保证一定存在合法的裁剪方案。
来源与许可
本题为 USACO 2010 Dec 试题「Letter 恐吓信」,题面与测试数据整理自 BZOJ 2099。
样例 1
输入
38 9
THEQUICKBROWNFOXDO
GJUMPSOVERTHELAZYDOG
FOXDOG
DOG
输出
2