摘要: 题目要求很清楚,就是求n(n<=10)个字符串的最长公共子串,由于题目数据量不大,直接枚举和KMP就可以,注最长公共子串长度小于3的特别输出,有几个长度相等的最长公共子串,输出字典序最小的。另外,string中的find函数就是实现了KMP算法。View Code 1 #include <iostream> 2 #include <string> 3 using namespace std; 4 5 int main() 6 { 7 int m,n; 8 int t; 9 int i,j,k;10 string dna[10];11 string s... 阅读全文
posted @ 2012-06-04 19:02 vpanda 阅读(141) 评论(0) 推荐(0)
摘要: 题目大意,给定一个字典,由最多10000个单词构成。然后给一些单词,判断是字典里是否有这些单词,若没有,再判断通过替换、添加或删除任意一个字母,形成的新单词是否在字典里,然后按给定的字典顺序输出结果。还好这题每个单词最多只是改变一个字母,这就是说,若是字典里有改变后的单词,这个单词和要处理的单词至多有一个字母不一样。这样处理起来就容易多了。通过按照字典中字母长度由小到大排序,并保存每个长度单词在新字典中的开始和结束位置,能加快程序处理每个单词的时间。 阅读全文
posted @ 2012-06-04 15:29 vpanda 阅读(135) 评论(0) 推荐(0)