最长公共子序列
2013-07-19 19:25
423 查看
#include<stdio.h> #include<string.h> int s[20][20]; int max(int a,int b) { if(a>=b) { return a; } else { return b; } } int lcs(int n,int m,char x[],char y[]) { int i,j; for(i=0;i<n;i++) { s[i][0]=0; } for(i=1;i<m;i++) { s[0][i]=0; } for(i=0;i<n;i++) { for(j=0;j<m;j++) { if(x[i]==y[j]) { s[i][j]=s[i-1][j-1]+1; } else { s[i][j]=max(s[i-1][j],s[i][j-1]); } } } return s[n-1][m-1]; } int main() { int s[20][20]; int len1,len2; char x[20],y[20]; while(scanf("%s%s",x,y)!=EOF) { len1=strlen(x); len2=strlen(y); printf("%d\n",lcs(len1,len2,x,y)); } return 0; }
相关文章推荐
- nyoj 36 最长公共子序列
- 51nod1006 最长公共子序列Lcs dp
- 最长公共子序列(LCS)问题
- 51Nod 1092 回文字符串 | 最长公共子序列变形
- LintCode Longest Common Subsequence(最长公共子序列长度,动态规划入门题)
- Algorithm3——最长公共子序列(LCS)
- 动态规划之最长公共子序列(LCS)问题
- 动态规划:求最长公共子串/最长公共子序列
- Java动态规划 实现最长公共子序列长度
- 最长公共子序列、子串
- 洛谷 P2516 [HAOI2010]最长公共子序列
- 最长公共子序列
- Java算法之最长公共子序列问题(LCS)实例分析
- 算法提高 最长公共子序列 (DP VS 递归)
- 线性和并行求解多个序列最长公共子序列(MLCS)算法学习笔记
- HDU1503 Advanced Fruits (最长公共子序列)
- 最长公共子序列LCS(C++实现)
- 最长公共子序列-dp进阶
- JAVA代码—算法基础:求两个字符串的最长公共子序列问题
- POJ-1458-Common Subsequence(最长公共子序列模板题)---Eternally