首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >L2-021 点赞狂魔(排序)「建议收藏」

L2-021 点赞狂魔(排序)「建议收藏」

作者头像
全栈程序员站长
发布2022-09-22 10:13:04
发布2022-09-22 10:13:04
27600
举报
运行总次数:0

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

输入样例:

代码语言:javascript
代码运行次数:0
运行
复制
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

输出样例:

代码语言:javascript
代码运行次数:0
运行
复制
jack chris john
代码语言:javascript
代码运行次数:0
运行
复制
#include<bits/stdc++.h>
#define x first
#define y second
#define send string::npos
#define lowbit(x) (x&(-x))
using namespace std;
typedef long long ll;
const int N = 1e4 + 10;
const int M = 3 * N;
const int INF = 0x3f3f3f3f;
typedef pair<int,int> PII;
typedef struct Node * pnode;
struct Node{ 
   
    string name;
    int num;
    int sum;
}node[N];
bool cmp(const Node &a,const Node &b){ 
   
    if(a.num == b.num)return a.sum < b.sum;
    else return a.num > b.num;
}
int main(){ 
   
    int n,k,x;
    set<int>s;
    cin>>n;
    for(int i = 0;i < n;i ++){ 
   
        cin>>node[i].name>>node[i].sum;
        s.clear();
        for(int j = 0;j < node[i].sum;j ++)
        { 
   
            cin>>x;
            s.insert(x);
        }
        node[i].num = s.size();
    }
    sort(node,node + n,cmp);
    cout<<node[0].name;
    for(int i = 1;i < min(3,n);i ++)cout<<" "<<node[i].name;
    for(int i = min(3,n);i < 3;i ++)cout<<" -";
    return 0;
}

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168912.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档