3023 - 单词的划分

 有一个很长的由小写字母组成字符串。为了便于对这个字符串进行分析,需要将它划分成若干个部分,每个部分称为一个单词。出于减少分析量的目的,我们希望划分出的单词数越少越好。你就是来完成这一划分工作的。 

输入

从文本文件 word.in 中读入数据。     第一行,一个字符串。(字符串的长度不超过 100)     第二行一个整数 n,表示单词的个数。(n<=100)     第 3~n+2 行,每行列出一个单词。

输出

一个整数,表示字符串可以被划分成的最少的单词数。

样例

输入

realityour
5 
real 
reality 
it 
your 
our 

输出

2
(原字符串可拆成 real+it+your 或 reality+our,由于 reality+our 仅为两个部分,因 此最优解为 2,另外注意,单词列表中的每个单词都可以重复使用多次,也可以不用) 

来源

动规专题

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题