HDU 1159(Common Subsequence)最长公共子序列

来源:互联网 发布:淘宝好的精仿店 编辑:程序博客网 时间:2024/05/16 18:21

此题是最简单的模板题

代码:

#include<stdio.h>#include<string.h>    char a[1100],b[1100];int dp[1100][1100];int Max(int x,int y){    return x>y?x:y;}int main(){    int len1,len2,len;    int i,j,k;    while(scanf("%s%s",&a,&b)!=EOF)    {        len1=strlen(a);        len2=strlen(b);        len=Max(len1,len2);        for(i=0;i<=len1;i++)        {            for(j=0;j<=len2;j++)            {                if(i==0 || j==0)                {                    dp[i][j]=0;                }                else if(a[i-1]==b[j-1])                    dp[i][j]=dp[i-1][j-1]+1;                else                    dp[i][j]=Max(dp[i-1][j],dp[i][j-1]);            }        }        printf("%d\n",dp[len1][len2]);    }    return 0;}


0 0
原创粉丝点击