diff --git a/Dynamic Programming/Longest Common Subsequence.cpp b/Dynamic Programming/Longest Common Subsequence.cpp index 07a4730a6..2b0d00f9d 100644 --- a/Dynamic Programming/Longest Common Subsequence.cpp +++ b/Dynamic Programming/Longest Common Subsequence.cpp @@ -1,23 +1,71 @@ //Longest common subsequence - Dynamic Programming #include using namespace std; + +void Print(int trace[20][20], int m, int n, string a) +{ + if (m==0 || n==0) + { + return; + } + if (trace[m][n]==1) + { + Print(trace, m-1, n-1, a); + cout<res[i][j-1]) + { + res[i][j]=res[i-1][j]; + trace[i][j]=2; // 2 means trace the matrix in upwards direction. + } + else + { + res[i][j]=res[i][j-1]; + trace[i][j]=3; // means trace the matrix in left direction. + } + } } } + Print(trace, m, n, a); return res[m][n]; } + + + + int main() { string a,b; diff --git a/Dynamic Programming/Longest Common Subsequence.exe b/Dynamic Programming/Longest Common Subsequence.exe index b08e32d09..2383ac0dd 100644 Binary files a/Dynamic Programming/Longest Common Subsequence.exe and b/Dynamic Programming/Longest Common Subsequence.exe differ