TongJI Online Judge预赛(2): LOVE LETTER
来源:互联网 发布:ui和程序员漫画 编辑:程序博客网 时间:2024/04/30 13:27
Love letter
Time Limit: 1000MS Memory Limit:10000K
【Description】
他花了好大的功夫,终于把这帮人平时写给女生们的怪诗以及他们的心情日记、检讨等搜集起来,汇总成册(立哥将该册子称为“材料”)。接下来,他打算通过对作文风格的对比,来分析他收到的这封神秘情书是否出自这些人之手。不过首先,他要找一找两者(情书和材料)之间完全相同的句子,为了得到更可靠的分析结果,他要找到两者之间最长的那个公共句子。不过这可不是件易事,所以他找到正在参加ACM训练的你,希望你能写个程序,帮他找到这个最长公共句子。
这里你只需要完成核心工作,求出最长公共句子的长度就可以了。
【Input】
第1行只包含一个整数T(0<T≤10),表示一共有T组测试数据。
从第2行到第3T+1行每三行为一组测试数据。每组测试数据的第一行包含两个整数 m,n(0<m、n≤100),第二行为一个长度为m的字符串,为情书的内容。第三行为一个长度为n的字符串,为材料的内容。为简化处理,两个字符串都仅包含小写英文字母。
【Output】
共T行,每行对应一组测试数据的答案(将第I组测试数据的答案输出在第I行)。
每组测试数据的答案为一个整数:最长公共句子的长度(字符数)。
【Sample Input】
3
10 24
helloworld
thisisalowercasesentense
6 8
abcdef
ghijklmn
9 22
abcababab
bababcababcababababcab
【Sample Output】
3
0
9
【样例说明】
第一组数据的最长公共句子长度为3,这是因为在helloworld和thisisalowercasesentense这两个字符串中,都有一个公共的子串low,其长度为3,并且不存在长度超过3的公共字串。
第二组数据abcdef和ghijklmn完全不存在相同的子串,故其最长公共句子长度为0。
第三组数据abcababab和bababcababcababababcab都包含abcababab这个子串,其长度为9,且不存在更长的公共子串。故答案为9。
参考答案:
#include <string.h>
int T, prob;
int m, n;
char s1[110], s2[110];
int c[110][110];
int f[110][110];
int lcs(int i, int j)
{
if (c[i][j] != prob) {
c[i][j] = prob;
if (i == m || j == n || s1[i] != s2[j])
f[i][j] = 0;
else
f[i][j] = 1+lcs(i+1,j+1);
}
return f[i][j];
}
int main()
{
int i, j, k, max;
scanf("%d", &T);
for (prob = 1; prob <= T; prob++) {
scanf("%d%d", &m, &n);
scanf("%s", s1);
scanf("%s", s2);
max = 0;
for (i = 0; i < m; i++)
for (j = 0; j < n; j++) {
k = lcs(i,j);
if (k > max) max = k;
}
printf("%d/n", max);
}
return 0;
}
- TongJI Online Judge预赛(2): LOVE LETTER
- TongJI Online Judge预赛(2): LOVE LETTER
- TongJI Online Judge预赛(3): Game
- TongJI Online Judge预赛(3): Game
- Tongji Online Judge ID:1002
- Tongji Online Judge ID:1006
- Tongji Online Judge ID:1005
- Tongji Online Judge ID:1014
- Tongji Online Judge ID:1015
- Tongji Online Judge ID:1012
- Tongji Online Judge ID:1011
- Tongji Online Judge ID:1010
- Tongji Online Judge ID:1013
- Tongji Online Judge ID:1018
- Tongji Online Judge ID:1019
- love Letter
- Love Letter
- Hrbust Online Judge--移动2
- 用JavaScript打造搜索工具栏
- TongJI Online Judge预赛(3): Game
- Html 常用标志总结
- 实现页面的分帧显示
- 开源: 个人财务管理系统文档与源码下载
- TongJI Online Judge预赛(2): LOVE LETTER
- 表达式计算算法总结
- 同济OnlineJudge预赛题(一): Treenders
- 每天OnlineJudge之 “数素数”
- 堆栈小应用:配对
- 每天OnLineJudge 之 “蛇形矩阵 ”
- 每天OnLineJudge 之 “杨辉三角 ”
- 小问题,对递归重复调用的改进,一起来分享
- 在.net中使用Udp协议创建简单的聊天程序