2 asdf adfsd 123abc abc123abc
3 6
什么都学不下去,刷个水题,调整一下,不要贪多,掌握扎实;
写这道题感觉背模板并没有用,和记公式一样,都是要理解,在按自己的思路写代码,这样才能属于自己,只记模板再看时还没有思路等于上一次看的一点印象都没有留下,那以前学的都白费了;
AC代码:
#include
#include
#include
using namespace std;
char a[1111],b[1111];
int dp[1111][1111];
int LIS()
{
int i=0,j=0;
memset(dp,0,sizeof(dp));
for(i=1;a[i]!='\0';++i)
{
for(j=1;b[j]!='\0';++j)
{
if(a[i]==b[j]) dp[i][j]=dp[i-1][j-1]+1;
else dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
}
}
return dp[i-1][j-1];
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
scanf("%s %s",a+1,b+1);
printf("%d\n",LIS());
}
return 0;
}