Advertisement
Guest User

J

a guest
Sep 19th, 2014
302
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.08 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.     int tests;
  8.     cin>>tests;
  9.     for(int test=0;test<tests;test++)
  10.     {
  11.         int s,q;
  12.         cin>>s;
  13.         cin.ignore();
  14.         string engines[s];
  15.         for(int j=0;j<s;j++)
  16.             getline(cin,engines[j]);
  17.         cin>>q;
  18.         cin.ignore();
  19.         string queries[q];
  20.         for(int j=0;j<q;j++)
  21.             getline(cin,queries[j]);
  22.  
  23.  
  24.         int minimum[q];
  25.         int DP[s][q];
  26.         for(int j=0;j<q;j++)
  27.             minimum[j]=99999;
  28.         for(int j=0;j<s;j++)
  29.             if(queries[0]==engines[j])
  30.                 DP[j][0]=1;
  31.             else
  32.                 DP[j][0]=0;
  33.         minimum[0]=0;
  34.  
  35.  
  36.         for(int j=1;j<q;j++)
  37.         {
  38.             for(int k=0;k<s;k++)
  39.             {
  40.                 if(queries[j]==engines[k])
  41.                     DP[k][j]=minimum[j-1]+1;
  42.                 else
  43.                     DP[k][j]=DP[k][j-1];
  44.                 minimum[j]=min(minimum[j],DP[k][j]);
  45.             }
  46.         }
  47.  
  48.         cout<<minimum[q-1]<<endl;
  49.     }
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement