Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int main()
- {
- int tests;
- cin>>tests;
- for(int test=0;test<tests;test++)
- {
- int s,q;
- cin>>s;
- cin.ignore();
- string engines[s];
- for(int j=0;j<s;j++)
- getline(cin,engines[j]);
- cin>>q;
- cin.ignore();
- string queries[q];
- for(int j=0;j<q;j++)
- getline(cin,queries[j]);
- int minimum[q];
- int DP[s][q];
- for(int j=0;j<q;j++)
- minimum[j]=99999;
- for(int j=0;j<s;j++)
- if(queries[0]==engines[j])
- DP[j][0]=1;
- else
- DP[j][0]=0;
- minimum[0]=0;
- for(int j=1;j<q;j++)
- {
- for(int k=0;k<s;k++)
- {
- if(queries[j]==engines[k])
- DP[k][j]=minimum[j-1]+1;
- else
- DP[k][j]=DP[k][j-1];
- minimum[j]=min(minimum[j],DP[k][j]);
- }
- }
- cout<<minimum[q-1]<<endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement