2 asdf adfsd 123abc abc123abc
3 6
#include<iostream>
#include<string.h>
using namespace std;
char a[1002],b[1002];
int num[1002][1002];
int main()
{
int N,i,j;
cin>>N;
while(N--)
{
cin>>a>>b;
int lena=strlen(a);
int lenb=strlen(b);
int k=0;
memset(num,0,sizeof(num));
for(i=1;i<=lena;i++)
{
for(j=1;j<=lenb;j++)
{
if(a[i-1]==b[j-1])
{
num[i][j]=num[i-1][j-1]+1;
}
else if(num[i-1][j]<num[i][j-1])
{
num[i][j]=num[i][j-1];
}
else
{
num[i][j]=num[i-1][j];
}
}
}
cout<<num[lena][lenb]<<endl;
}
return 0;
}
原文:http://blog.csdn.net/zuguodexiaoguoabc/article/details/43968775