L2-019 悄悄关注 (25分)  map容器模拟_i++

 

 L2-019 悄悄关注 (25分)  map容器模拟_ios_02

 

 

 

代码:

 1 //一道模拟水题,就用来给map练手吧
 2 #include<stdio.h>
 3 #include<string.h>
 4 #include<iostream>
 5 #include<algorithm>
 6 #include<queue>
 7 #include<map>
 8 using namespace std;
 9 const int maxn=1e5+5;
10 int main()
11 {
12     int n,m,k,t,sum = 0;
13     string s;
14     scanf("%d",&n);
15     map<string,int> m1,m2;
16     for(int i=0;i<n;i++){
17         cin>>s;
18         m1[s] = 1;//标记为1表示被关注的id
19     }
20     scanf("%d",&m);
21     for(int i=0;i<m;i++){
22         cin>>s>>k;
23         m2[s] = k;
24         sum += k;//总点赞数
25     }
26     t = sum/m;//平均点赞数
27     int flag = 0;//标记有没有悄悄关注的人
28     map<string,int>::iterator it;
29     for(it=m2.begin();it!=m2.end();it++){
30         if(it->second>t&&m1[it->first]==0){//满足被该用户点赞次数大于其点赞平均数、且不在其关注列表上的人
31           cout<<it->first<<endl;
32             flag = 1;
33         }
34     }
35     if(flag==0){
36         printf("Bing Mei You\n");
37     }
38     return 0;
39 }