1 //最长公共子序列 2 #include<iostream> 3 #include<cstdio> 4 #include<cstdlib> 5 using namespace std; 6 string s1,s2; 7 int f[100][100]; 8 int main() 9 { 10 cin>>s1>>s2; 11 int len1=s1.length(),len2=s2.length(); 12 for(int i=1;i<=len1;i++) 13 { 14 for(int j=1;j<=len2;j++) 15 { 16 if(s1[i-1]==s2[j-1]) 17 f[i][j]=f[i-1][j-1]+1; 18 else 19 f[i][j]=max(f[i-1][j],f[i][j-1]); 20 } 21 } 22 printf("%d",f[len1][len2]); 23 return 0; 24 }
时间: 2024-10-11 05:37:38