题解 | #代理服务器#

代理服务器

https://www.nowcoder.com/practice/1284469ee94a4762848816a42281a9e0

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n;
    cin>>n;
    set<string > s,pre;//s服务器,pre访问地址
    while(n--){
        string t;
        cin>>t;
        s.insert(t);
    }
    int f1=0;
    if(s.size()==1)
        f1=1;
    cin>>n;
    int res=0;
    //什么时候必须切服务器?轮到最后一个没遇到的ip时(在此之前都可用非这些ip的某服务器)
    while(n--)
    {
        string t;
        cin>>t;
        if(f1&&t==*s.begin()){
            cout<<-1;
            return 0;
        }
        if(pre.count(t))continue;
        else
         {
            if(s.count(t))//此ip的服务器暂时不用
            {
                pre.insert(t);
                if(pre.size()==s.size())//都出现了,必须用掉一个ip
                {
                    res++;
                    pre.clear();
                    pre.insert(t);
                }
            }
            
         };
    }
    cout<<res;
    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

04-15 23:42
中山大学 Java
ResourceUtilization:过几天楼主就会捧着一堆offer来问牛友们该怎么选辣
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务