首页 > 代码库 > LCS
LCS
2016-09-11 16:37:13
代码
1 #include<stdio.h> 2 #include<string.h> 3 #include<iostream> 4 using namespace std; 5 int dp[1010][1010]={0}; 6 int main() 7 { 8 char a[1010],b[1010],c[1010]; 9 int la,lb,lc;10 scanf("%s",a);11 scanf("%s",b);12 la=strlen(a);13 lb=strlen(b); 14 int i,j,k=0;15 for(i=1;i<=la;i++)16 for(j=1;j<=lb;j++)17 {18 if(a[i-1]==b[j-1])19 dp[i][j]=dp[i-1][j-1]+1;20 else21 dp[i][j]=max(dp[i][j-1],dp[i-1][j]);22 }23 for(i=la,j=lb;i>=1&&j>=1;)24 {25 if(a[i-1]==b[j-1])26 {27 c[k++]=a[i-1];28 i--;j--;29 }30 else31 {32 if(dp[i][j-1]>dp[i-1][j])33 j--;34 else35 i--;36 }37 38 }39 for(k--;k>=0;k--)40 printf("%c",c[k]);41 printf("\n");42 return 0;43 }
LCS
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。