首页 > 代码库 > POJ 1458 LCS模板

POJ 1458 LCS模板

LCS模板 存一个


#include "stdio.h"
#include "string.h"
int main()
{
    char a[1010],b[1010];
    int i,j,Max,dp[1010];
    while (scanf("%s",a)!=EOF)
    {
        scanf("%s",b);
        memset(dp,0,sizeof(dp));

        for (i=0;b[i];i++)
        {
            Max=0;
            for (j=0;a[j];j++)
            {
                if (dp[j]>Max) Max=dp[j];
                else
                if (a[j]==b[i])
                {
                    if (dp[j]<Max+1) dp[j]=Max+1;
                }


            }
        }
        Max=0;
        for (i=0;a[i];i++)
            if (dp[i]>Max) Max=dp[i];
        printf("%d\n",Max);
    }
    return 0;
}