最大公共子序列模板

来源:互联网 发布:淄博网站排名优化 编辑:程序博客网 时间:2024/06/11 13:18
#include<iostream>#include<stdio.h>#include<string.h>using namespace std;char x[1001];char y[1001];int dp[1001][1001];int max(int x,int y){    return x>y?x:y;}int main(){    int n,m,i,j,num;    scanf("%d",&num);    while(num--)    {        scanf("%s %s",x,y);        n=strlen(x);        m=strlen(y);        memset(dp,0,sizeof(dp));        for(i=1;i<=n;i++)        {            for(j=1;j<=m;j++)            {               if(x[i-1]==y[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[n][m]);    }}

0 0