微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。然而有这么一种人,他们会通过给自己看到的一切内容点赞来狂刷存在感,这种人就被称为“点赞狂魔”。他们点赞的标签非常分散,无法体现出明显的特性。本题就要求你写个程序,通过统计每个人点赞的不同标签的数量,找出前3名点赞狂魔。

输入格式:
输入在第一行给出一个正整数N(≤100),是待统计的用户数。随后N行,每行列出一位用户的点赞标签。格式为“Name K F​1​​ ⋯F​K​​ ”,其中Name是不超过8个英文小写字母的非空用户名,1≤K≤1000,F​i(i=1,⋯,K)是特性标签的编号,我们将所有特性标签从 1 到 10​^7 编号。数字间以空格分隔。

输出格式:
统计每个人点赞的不同标签的数量,找出数量最大的前3名,在一行中顺序输出他们的用户名,其间以1个空格分隔,且行末不得有多余空格。如果有并列,则输出标签出现次数平均值最小的那个,题目保证这样的用户没有并列。若不足3人,则用-补齐缺失,例如mike jenny -就表示只有2人。

输入样例:
5
bob 11 101 102 103 104 105 106 107 108 108 107 107
peter 8 1 2 3 4 3 2 5 1
chris 12 1 2 3 4 5 6 7 8 9 1 2 3
john 10 8 7 6 5 4 3 2 1 7 5
jack 9 6 7 8 9 10 11 12 13 14
输出样例:
jack chris john
#include<bits/stdc++.h>
using namespace std;struct node{string name; //名字 set<int>s; //标签编号double aves; //标签出现次数平均值
};double ave(set<int>s,int k)  //求标签出现次数平均值
{return 1.0*k/s.size();
}int cmp(node a,node b)
{   if(a.s.size()==b.s.size())  // 排序并列情况 {return a.aves<b.aves;  }return a.s.size()>b.s.size();  // 排序不并列情况
}int main()
{int n,k;cin>>n;node a[n];for(int i=0;i<n;i++){cin>>a[i].name;cin>>k;for(int j=0;j<k;j++){int num;cin>>num;a[i].s.insert(num); //将标签都放进集合中,处理重复的标签 }a[i].aves=ave(a[i].s,k); // 标签出现次数平均值}sort(a,a+n,cmp); // 排序 //    for(int i=0;i<n;i++)
//  {
//      cout<<a[i].name<<" "<<a[i].s.size()<<endl;
//  }if(n<3){for(int i=0;i<n;i++){if(i==0)cout<<a[i].name;elsecout<<" "<<a[i].name;}for(int i=1;i<=3-n;i++){cout<<" -";}}else{for(int i=0;i<3;i++){if(i==0)cout<<a[i].name;elsecout<<" "<<a[i].name;}}return 0;
}

点赞狂魔(天梯赛L2)相关推荐

  1. 团体程序设计天梯赛-L2组

    团体程序设计天梯赛-L2组 -------------------------------------------------------------------------------- 题目传送门 ...

  2. 【L2-021 点赞狂魔】天梯赛L2系列详细解析

    天梯赛L2-021 点赞狂魔 题目详情: 思路: 本题的思路比较简单:就是统计点赞不同标签的个数,然后输出个数最多的三个人. 1.去除重复的标签,可以用set容器存储,因为不需要打印标签,所以我们可以 ...

  3. 团体程序设计天梯赛 L2 题目合集

    前言 发现自己还能再参加一次天梯赛,在高兴之余,决定把在赛前将所有的天梯赛真题过一遍,希望自己可以取得理想的成绩.目前 L1 的题目已经刷完,打算在赛前刷完 L2 的题目. 本来想 L2 的题目都写个 ...

  4. 【L2-019 悄悄关注 】天梯赛L2系列详解

    天梯赛L2-019 悄悄关注 题目详情: 输入样例1: 10 GAO3 Magi Zha1 Sen1 Quan FaMK LSum Eins FatM LLao 8 Magi 50 Pota 30 L ...

  5. 【L2-020 功夫传人】天梯赛L2系列详解

    天梯赛L2-020 功夫传人 题目详情: 思路: 这个题目的看着就感觉需要深搜一下,不妨将样例画出来,思路就突然涌来了.很明显的一道深搜的题目: 题目刚开始输入的一行信息整体的信息:宗门人数,祖师爷功 ...

  6. 【L2-022 重排链表】天梯赛L2系列详细解答

    天梯赛L2-022 重排链表 题目详情: 输入样例: 00100 6 00000 4 99999 00100 1 12309 68237 6 -1 33218 3 00000 99999 5 6823 ...

  7. 【L2-040 哲哲打游戏】天梯赛L2题集

    天梯赛L2-40 题目详情: 思路: 先来一张我自己的手写解析图: (字比较丑,不过呢没有对样例推到完整,这种东西最好自己推一遍哈) 我感觉想清楚这三个问题就很有思路啦: 1.开始地址是什么? 2.如 ...

  8. PTA程序设计天梯赛 L2题解报告(40/40)

    目录 L2-001 紧急救援 (25 分) L2-002 链表去重 (25 分) L2-003 月饼 (25 分) L2-004 这是二叉搜索树吗? L2-005 集合相似度 (25 分) L2-00 ...

  9. 【L2-030 冰岛人】天梯赛L2系列详解

    天梯赛L2-030 冰岛人 题目详情: 思路: 先搞清楚题目要求我们干什么? 直接看输出格式部分,四种情况:异性,同性,有无共同祖先,是否在名单内. 1.判断性别:如果是维京人那么通过性别后缀,否则通 ...

最新文章

  1. 根据IP和MAC查端口
  2. Docker员工自述:我们为什么“输”给了Kubernetes?
  3. 算法笔记-链相关、链的基础、单链双链环链、链的各种功能实现、链的算法题、面试题以及算法优化方法(多)、C#
  4. UIUC教授季姮:叫我带头人,而不是女性带头人(附视频)
  5. 厉害了,Spring Cloud Alibaba 发布 GA 版本!
  6. antd 的form 表单怎么回显数据_jsonschema-form-vue基于JSONSchema的表单自动生成方案
  7. linux下C语言中的flock函数用法
  8. 宽带服务器盒信号灯红色闪烁,宽带出现光信号灯是红色是怎么回事
  9. iOS中处理时间的类
  10. 团队-象棋游戏-开发环境搭建过程
  11. smobiler自适应不同手机分辨率
  12. 1055 mysql_mysql8.0.1 报错1055
  13. 设计一款给爸爸妈妈用的手机
  14. 基于L2Dwidget动态漫画人物js特效
  15. html怎么所有按钮没效果图,点击按钮没反应?所有按钮都没反应
  16. 如何降低计算机版本,如何在win7系统电脑中将IE浏览器的版本降低
  17. 文件存档、加密和解密
  18. 教你把gps服务器修改为中国加速搜星,手机导航-GPS搜星速度优化(android手机)...
  19. 诛仙手游-法宝血炼性价比分析
  20. 小米笔记本 - 驱动下载

热门文章

  1. 基础篇:高并发一瞥,线程和线程池的总结
  2. php表的插入与呈现,php解析文本文件呈现在表格上-Go语言中文社区
  3. 正则表达式系列(1)——去除括号(或其他符号)及其包含的内容
  4. 一个普通前端程序员走过的路程
  5. Heston SV model期权定价(基于numpy)
  6. 一文读懂“大语言模型”
  7. android手机内存不足使用sd卡,手机内存不足怎么办移不到sd卡
  8. 王权富贵:Faster-Rcnn详解
  9. 最详细解读LPWAN重要成员Wi-SUN
  10. excel 取前几位文字