手写代码:LCS问题
#include<bits/stdc++.h> using namespace std; char s1[3001],s2[3001]; int f[3001][3001]; int main() { int n,i,j; scanf("%s",s1+1); scanf("%s",s2+1); int l1=strlen(s1+1); int l2=strlen(s2+1); for(i=1;i<=l1;i++) { for(j=1;j<=l2;j++) { if(s1[i]==s2[j]) f[i][j]=f[i-1][j-1]+1; else f[i][j]=max(f[i-1][j],f[i][j-1]); } } printf("%d",f[l1][l2]); return 0; }