Advertisement
Glenpl

Untitled

Jan 24th, 2015
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.56 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. int lcs(std::string x, std::string y, int m, int n)
  4. {
  5.     int l[m+3][n+3];
  6.     for(int i = 0; i <= m; i++)
  7.         l[i][0] = 0;
  8.     for(int j = 0; j <= n; j++)
  9.         l[0][j] = 0;
  10.     for(int i = 1; i <= m; i++)
  11.         for(int j = 1; j <= n; j++)
  12.         {
  13.             if(x[i] == y[j]) l[i][j] = l[i-1][j-1] + 1;
  14.             else l[i][j] = (l[i][j-1] > l[i-1][j] ? l[i][j-1] : l[i-1][j]);
  15.         }
  16.     return l[m][n];
  17. }
  18.  
  19. int main() {
  20.     int t;
  21.     std::cin>>t;
  22.     std::string a,b;
  23.     int m,n;
  24.     for(int i = 0; i < t; i++)
  25.     {
  26.         std::cin>>m>>a>>n>>b;
  27.         std::cout<<lcs(a,b,m,n)<<"\n";
  28.     }
  29.     return 0;
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement