点赞狂魔(天梯赛L2)
微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。然而有这么一种人,他们会通过给自己看到的一切内容点赞来狂刷存在感,这种人就被称为“点赞狂魔”。他们点赞的标签非常分散,无法体现出明显的特性。本题就要求你写个程序,通过统计每个人点赞的不同标签的数量,找出前3名点赞狂魔。
输入格式:
输入在第一行给出一个正整数N(≤100),是待统计的用户数。随后N行,每行列出一位用户的点赞标签。格式为“Name K F1 ⋯FK ”,其中Name是不超过8个英文小写字母的非空用户名,1≤K≤1000,Fi(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)相关推荐
- 团体程序设计天梯赛-L2组
团体程序设计天梯赛-L2组 -------------------------------------------------------------------------------- 题目传送门 ...
- 【L2-021 点赞狂魔】天梯赛L2系列详细解析
天梯赛L2-021 点赞狂魔 题目详情: 思路: 本题的思路比较简单:就是统计点赞不同标签的个数,然后输出个数最多的三个人. 1.去除重复的标签,可以用set容器存储,因为不需要打印标签,所以我们可以 ...
- 团体程序设计天梯赛 L2 题目合集
前言 发现自己还能再参加一次天梯赛,在高兴之余,决定把在赛前将所有的天梯赛真题过一遍,希望自己可以取得理想的成绩.目前 L1 的题目已经刷完,打算在赛前刷完 L2 的题目. 本来想 L2 的题目都写个 ...
- 【L2-019 悄悄关注 】天梯赛L2系列详解
天梯赛L2-019 悄悄关注 题目详情: 输入样例1: 10 GAO3 Magi Zha1 Sen1 Quan FaMK LSum Eins FatM LLao 8 Magi 50 Pota 30 L ...
- 【L2-020 功夫传人】天梯赛L2系列详解
天梯赛L2-020 功夫传人 题目详情: 思路: 这个题目的看着就感觉需要深搜一下,不妨将样例画出来,思路就突然涌来了.很明显的一道深搜的题目: 题目刚开始输入的一行信息整体的信息:宗门人数,祖师爷功 ...
- 【L2-022 重排链表】天梯赛L2系列详细解答
天梯赛L2-022 重排链表 题目详情: 输入样例: 00100 6 00000 4 99999 00100 1 12309 68237 6 -1 33218 3 00000 99999 5 6823 ...
- 【L2-040 哲哲打游戏】天梯赛L2题集
天梯赛L2-40 题目详情: 思路: 先来一张我自己的手写解析图: (字比较丑,不过呢没有对样例推到完整,这种东西最好自己推一遍哈) 我感觉想清楚这三个问题就很有思路啦: 1.开始地址是什么? 2.如 ...
- PTA程序设计天梯赛 L2题解报告(40/40)
目录 L2-001 紧急救援 (25 分) L2-002 链表去重 (25 分) L2-003 月饼 (25 分) L2-004 这是二叉搜索树吗? L2-005 集合相似度 (25 分) L2-00 ...
- 【L2-030 冰岛人】天梯赛L2系列详解
天梯赛L2-030 冰岛人 题目详情: 思路: 先搞清楚题目要求我们干什么? 直接看输出格式部分,四种情况:异性,同性,有无共同祖先,是否在名单内. 1.判断性别:如果是维京人那么通过性别后缀,否则通 ...
最新文章
- 根据IP和MAC查端口
- Docker员工自述:我们为什么“输”给了Kubernetes?
- 算法笔记-链相关、链的基础、单链双链环链、链的各种功能实现、链的算法题、面试题以及算法优化方法(多)、C#
- UIUC教授季姮:叫我带头人,而不是女性带头人(附视频)
- 厉害了,Spring Cloud Alibaba 发布 GA 版本!
- antd 的form 表单怎么回显数据_jsonschema-form-vue基于JSONSchema的表单自动生成方案
- linux下C语言中的flock函数用法
- 宽带服务器盒信号灯红色闪烁,宽带出现光信号灯是红色是怎么回事
- iOS中处理时间的类
- 团队-象棋游戏-开发环境搭建过程
- smobiler自适应不同手机分辨率
- 1055 mysql_mysql8.0.1 报错1055
- 设计一款给爸爸妈妈用的手机
- 基于L2Dwidget动态漫画人物js特效
- html怎么所有按钮没效果图,点击按钮没反应?所有按钮都没反应
- 如何降低计算机版本,如何在win7系统电脑中将IE浏览器的版本降低
- 文件存档、加密和解密
- 教你把gps服务器修改为中国加速搜星,手机导航-GPS搜星速度优化(android手机)...
- 诛仙手游-法宝血炼性价比分析
- 小米笔记本 - 驱动下载