最长公共子序列Common Subsequence POJ1458
2015-03-14 21:23
232 查看
#include <stdio.h> #include <string.h> int max(int a,int b) { return a<b?b:a; } int main() { int dp[1005][1005]; char a[1005],b[1005]; int i,j,k; int lena,lenb; int maxn; while(scanf("%s%s",a+1,b+1)!=-1) { maxn=0; //printf("%s %s\n",a+1,b+1); lena=strlen(a+1); lenb=strlen(b+1); memset(dp,0,sizeof(dp)); for(j=1;j<=lena;j++) { for(k=1;k<=lenb;k++) { if(a[j]==b[k]) dp[j][k]=dp[j-1][k-1]+1; else dp[j][k]=max(dp[j-1][k-1],max(dp[j-1][k],dp[j][k-1])); if(dp[j][k]>maxn) maxn=dp[j][k]; } //printf("1\n"); } printf("%d\n",maxn); } return 0; }
相关文章推荐
- 最长公共子序列
- poj 1458 Common Subsequence -- 最长公共子序列
- 最长公共子序列(LCS)
- 最长公共子序列(LCS DP)
- POJ 1458 Common Subsequence (DP+LCS,最长公共子序列)
- 动态规划解决最长公共子序列和最长公共子串
- 最长公共子序列的长度
- [51nod]1006 最长公共子序列Lcs
- LCS问题(最长公共子序列)-动态规划实现
- 最长公共子序列
- HDU2571一个裸的最长公共子序列题
- 文章标题 nyoj 36 最长公共子序列
- 51nod1006 最长公共子序列Lcs
- 动态规划问题(二)——最长公共子序列
- 最长公共子序列
- 最长公共子序列(LCS---动态规划)
- 51nod 最长公共子序列测试 【LCS+回溯】
- 字符串最长公共子序列问题
- 【字符串系列】最长公共子序列(LCS)
- 动态规划_最长公共子序列_1