fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int n, m;
  4.  
  5. int LCS(char A[], char B[], int i, int j)
  6. {
  7. if(i == n || j == m)
  8. {
  9. return 0;
  10. }
  11. else if(A[i] == B[j])
  12. {
  13. return 1 + LCS(A, B, i+1, j+1);
  14. }
  15. else
  16. {
  17. return max(LCS(A, B, i, j+1), LCS(A, B, i+1, j));
  18. }
  19.  
  20. }
  21.  
  22. int main()
  23. {
  24. cin>>n>>m;
  25. char A[n], B[m];
  26. cin>>A>>B;
  27.  
  28. int ans = LCS(A, B, 0, 0);
  29.  
  30. cout<<ans<<endl;
  31.  
  32. }
  33.  
Success #stdin #stdout 0.01s 5320KB
stdin
2 4
bd abcd
stdout
2