• PAT L2-019. 悄悄关注 /// map set


    https://www.patest.cn/contests/gplt/L2-019

    题目大意:

    新浪微博上有个“悄悄关注”,一个用户悄悄关注的人,不出现在这个用户的关注列表上,但系统会推送其悄悄关注的人发表的微博给该用户。现在我们来做一回网络侦探,根据某人的关注列表和其对其他用户的点赞情况,扒出有可能被其悄悄关注的人。

    输入格式:

    输入首先在第一行给出某用户的关注列表,格式如下:

    人数N 用户1 用户2 …… 用户N

    其中N是不超过5000的正整数,每个“用户i”(i=1, ..., N)是被其关注的用户的ID,是长度为4位的由数字和英文字母组成的字符串,各项间以空格分隔。

    之后给出该用户点赞的信息:首先给出一个不超过10000的正整数M,随后M行,每行给出一个被其点赞的用户ID和对该用户的点赞次数(不超过1000),以空格分隔。注意:用户ID是一个用户的唯一身份标识。题目保证在关注列表中没有重复用户,在点赞信息中也没有重复用户。

    输出格式:

    我们认为被该用户点赞次数大于其点赞平均数、且不在其关注列表上的人,很可能是其悄悄关注的人。根据这个假设,请你按用户ID字母序的升序输出可能是其悄悄关注的人,每行1个ID。如果其实并没有这样的人,则输出“Bing Mei You”。

    输入样例1:

    10 GAO3 Magi Zha1 Sen1 Quan FaMK LSum Eins FatM LLao
    8
    Magi 50
    Pota 30
    LLao 3
    Ammy 48
    Dave 15
    GAO3 31
    Zoro 1
    Cath 60
    

    输出样例1:

    Ammy
    Cath
    Pota
    

    输入样例2:

    11 GAO3 Magi Zha1 Sen1 Quan FaMK LSum Eins FatM LLao Pota
    7
    Magi 50
    Pota 30
    LLao 48
    Ammy 3
    Dave 15
    GAO3 31
    Zoro 29
    

    输出样例2:

     Bing Mei You


    将已关注的人存入set中 判断点赞的人是否已关注 无则存入map中
    #include <map>
    #include <set>
    #include <string.h>
    #include <iostream>
    #include <stdio.h>
    using namespace std;
    int main()
    {
            int n; scanf("%d",&n);
            char name[5];
            set<string> alr;
            for(int i=1;i<=n;i++)
            {
                scanf("%s",name);
                alr.insert(name);
            }
    
            map< string,int> mp,ans;
            int m,ave=0; scanf("%d",&m);
            for(int i=1;i<=m;i++)
            {
                int num,j;
                scanf("%s %d",name,&num);
                ave+=num;
                if(!alr.count(name))
                    mp[name]=num;
            }
            ave/=m;
    
            map<string,int>::iterator iter,temp;
            for(iter=mp.begin();iter!=mp.end();iter++)
            {
                if(iter->second>ave)
                    ans[iter->first]=iter->second;
            }
            if(ans.empty()) cout<<"Bing Mei You"<<endl;
            else
                for(temp=ans.begin();temp!=ans.end();temp++)
                    cout<<temp->first<<endl;
    }
    View Code
  • 相关阅读:
    第33周二
    第33周一
    第32周日
    第32周六
    RichTextBox 右键显示 ContextMenuTrip
    关于 Head First SQL 中文版
    linux进程通信之共享内存
    chroot 与 jail
    SQL基础--&gt; 约束(CONSTRAINT)
    MessageDigest简单介绍
  • 原文地址:https://www.cnblogs.com/zquzjx/p/8405973.html
Copyright © 2020-2023  润新知