QBSTR - Xâu con chung dài nhất

Tác giả: skyvn97

Ngôn ngữ: C++

#include<stdio.h>
#include<string.h>
#define MAX   1000
char a[MAX];
char b[MAX];
int opt[MAX][MAX];
int i,j;
int max(int x,int y,int z)
{
     int min=x;
     if (min<y) min=y;
     if (min<z) min=z;
     return (min);
}
int main(void)
{
    gets(a);
    gets(b);
    for (i=0;i<strlen(a);i=i+1)
        for (j=0;j<strlen(b);j=j+1)
            {
             if (a[i]==b[j]) opt[i+1][j+1]=opt[i][j]+1;
             else opt[i+1][j+1]=max(opt[i][j],opt[i][j+1],opt[i+1][j]);
            }
    printf("%d",opt[strlen(a)][strlen(b)]);
}

Download