题目描述
题目描述
有一个很长的由小写字母组成字符串。为了便于对这个字符串进行分析,需要将它划分成若干个部分,每个部分都必须是字典中的一个单词。出于减少分析量的目的,我们希望划分出的单词数越少越好。你就是来完成这一划分工作的。
给出字符串和字典,输出最少的划分单词数。
输入格式
第 1 行,1 个字符串。(字符串的长度不超过 1000)
第 2 行,1 个整数 n,表示字典中单词的个数。(n ≤ 100)
第 3 到 n+2 行,每行列出一个字典中的单词。(单词长度不超过 100)
输出格式
输出最少的划分单词数。
输入样例 #1
realityour
5
real
reality
it
your
our
输出样例 #1
2
输入样例 #2
unruledlittleness
5
unruled
littleness
it
unrule
little
输出样例 #2
2
输入样例 #3
a
3
ba
abc
a
输出样例 #3
1
提示
原字符串可拆成 real+it+your 或 reality+our,由于 reality+our 仅为两个部分,因此最优解为 2。另外注意,单词列表中的每个单词都可以重复使用多次,也可以不用。
数据范围与约定
字符串的长度不超过 1000;n ≤ 100;单词长度不超过 100。