LCS(Longest Common Sequence) Problem

Program:-
                       // LCS Problem
#include<stdio.h>
int max(int a, int b);
int lcs( char *X, char *Y, int m, int n )
{
   if (m == 0 || n == 0)
     return 0;
   if (X[m-1] == Y[n-1])
     return 1 + lcs(X, Y, m-1, n-1);
   else
     return max(lcs(X, Y, m, n-1), lcs(X, Y, m-1, n));
}


int max(int a, int b)
{
    return (a > b)? a : b;
}

int main()
{
  char X[] = "AGGTAB";
  char Y[] = "GXTXAYB";
  int m = strlen(X);
  int n = strlen(Y);
  printf("Length of LCS is %d", lcs( X, Y, m, n ) );
  return 0;
}
/* Output:-
Length of LCS is 4
Process returned 0 (0x0)   execution time : 0.024 s
Press any key to continue. */


Comments