#include <stdio.h> #include <string.h> #define Max 1001 int Graph[Max][Max]; int max(int a,int b) { return a>b?a:b; } int LCS(char a[],char b[]) { int i,j; int len1=strlen(a); int len2=strlen(b); memset(Graph,0,sizeof(Graph)); for (i=1;i<=len1;i++) { for (j=1;j<=len2;j++) { if(a[i-1]==b[j-1]) Graph[i][j]=Graph[i-1][j-1]+1; else Graph[i][j]=max(Graph[i-1][j],Graph[i][j-1]); } } return Graph[len1][len2]; }