Advertisement
mickypinata

SMMR-T087: Bridge

Mar 28th, 2020
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.68 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. int nv;
  6. int va[1010];
  7. int vb[1010];
  8.  
  9. int main(){
  10.  
  11.     scanf("%d", &nv);
  12.     for(int i = 1; i <= nv; ++i){
  13.         scanf("%d", &va[i]);
  14.     }
  15.     for(int i = 1; i <= nv; ++i){
  16.         scanf("%d", &vb[i]);
  17.     }
  18.  
  19.     vector<vector<int>> lcs(nv + 1, vector<int>(nv + 1, 0));
  20.     for(int ia = 1; ia <= nv; ++ia){
  21.         for(int ib = 1; ib <= nv; ++ib){
  22.             if(va[ia] == vb[ib]){
  23.                 lcs[ia][ib] = 1 + lcs[ia - 1][ib - 1];
  24.             } else {
  25.                 lcs[ia][ib] = max(lcs[ia - 1][ib], lcs[ia][ib - 1]);
  26.             }
  27.         }
  28.     }
  29.     cout << lcs[nv][nv];
  30.  
  31.     return 0;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement