【题目】
【思路】
经典的LCS问题,动态规划即可,状态转移方程:
【代码】
#include<stdio.h>
#include<string.h>
#define size 220
#define max(x,y) x>y? x:y
int main()
{
char s[size],t[size];
int i,j,a[size][size];
for (i=0;i<size;i++) {a[i][0]=0; a[0][i]=0;}
while (scanf("%s",s)!=EOF)
{
scanf("%s",t);
int sLen=strlen(s), tLen=strlen(t);
for (i=1;i<=sLen;i++)
for (j=1;j<=tLen;j++)
if (s[i-1]==t[j-1]) a[i][j]=a[i-1][j-1]+1; else a[i][j]=max(a[i-1][j],a[i][j-1]);
printf("%d\n",a[sLen][tLen]);
}
return 0;
}