#include <iostream> #include <string> #include <string.h> #include <vector> #include <time.h> using namespace std; char a[110],b[110]; int dp[110][110]; int maxn(int x,int y) { if(x>=y) return x; return y; } int main() { int lena,lenb,i,j; while(scanf("%s%s",a,b)!=EOF) { lena=strlen(a); lenb=strlen(b); memset(dp,0,sizeof(dp)); for(i=1;i<=lena;i++) for(j=1;j<=lenb;j++) { if(a[i-1]==b[j-1]) dp[j][i]=dp[j-1][i-1]+1; else dp[j][i]=maxn(dp[j-1][i],dp[j][i-1]); } printf("%d ",dp[lenb][lena]); } return 0; }