POJ 1458 Common Subsequence 最长公共子序列 LCS

时间:2022-10-19 13:22:02

LCS

 #include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#define clc(a,b) memset(a,b,sizeof(a))
#define LL long long
#include<cmath>
using namespace std;
int dp[][];//表示到i-1,j-1的最长公共长度
int main() {
// freopen("in.txt","r",stdin);
char s1[],s2[];
while(~scanf("%s %s",s1,s2)) {
// getchar();
// scanf("%s",s2);
// getchar();
int len1=strlen(s1);
int len2=strlen(s2);
clc(dp,);
for(int i=; i<=len1; i++) {
for(int j=; j<=len2; j++) {
if(s1[i-]==s2[j-]) {
dp[i][j]=dp[i-][j-]+;
} else {
dp[i][j]=max(dp[i-][j],dp[i][j-]);
}
}
}
printf("%d\n",dp[len1][len2]);
}
return ;
}