牛客网:代理服务器 切换次数
//原题链接:https://www.nowcoder.com/questionTerminal/1284469ee94a4762848816a42281a9e0
#include <cstring>
#include <iostream>
#include <set>
using namespace std;
//原题链接:https://www.nowcoder.com/questionTerminal/1284469ee94a4762848816a42281a9e0
int main(){
int n, m, rs = 0;
cin>>n;
set<string> proxy, same;
string temp;
for(int i = 0; i < n; i++){
cin>>temp;
proxy.insert(temp);
}
cin>>m;
string server[m];
for(int i = 0; i < m; i++){
cin>>server[i];
if(proxy.find(server[i])!=proxy.end()){
same.insert(server[i]);//查找在proxy中如果存在,放在same中
if(same.size()==n){//如果相似的个数等于proxy个数,并且此时server还未输入完全
rs++;
same.clear();
same.insert(server[i]);
}
}
}
if(proxy.size()==1&&same.size()==1) cout<<-1;//只有一个代理,访问的里面有相似的,不满足需要,切换不了,输出-1
else cout<<rs;
return 0;
}