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

L2-021 点赞狂魔(排序)「建议收藏」原题链接微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。然而有这么一种人,他们会通过给自己看到的一切内容点赞来狂刷存在感,这种人就被称为“点赞狂魔”。他们点赞的标签非常分散,无法体现出明显的特性。本题就要求你写个程序,通过统计每个人点赞的不同标签的数量,找出前3名点赞狂魔。输入格式:输入在第一行给出一个正整数N(≤100),是待统计的用户数。随后N行,每行列出一位用户的点赞标签。格式为“Name K F​1​

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

原题链接

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

(0)
上一篇 2022年8月8日 下午9:16
下一篇 2022年8月8日 下午9:36


相关推荐

  • slic超像素分割算法_hdr算法

    slic超像素分割算法_hdr算法原文出自:https://blog.csdn.net/Fighting_Dreamer/article/details/77170859SLIC与目前最优超像素算法的比较RadhakrishnaAchanta,AppuShaji,KevinSmith,AurelienLucchi,PascalFua,andSabineS¨usstrunk摘要近年来,计算机视觉应用越来越依赖…

    2025年7月6日
    3
  • Modebus – usb转RS485(芯片)串口驱动

    Modebus – usb转RS485(芯片)串口驱动usb转485通信,相当于电脑加了485芯片,有了485芯片就具备了通信的功能

    2022年5月4日
    230
  • 【FAQ】SpingMVC实现集合參数(Could not instantiate bean class [java.util.List])

    【FAQ】SpingMVC实现集合參数(Could not instantiate bean class [java.util.List])

    2021年12月7日
    66
  • 你知道如何从零开始学c++游戏编程吗「建议收藏」

    你知道如何从零开始学c++游戏编程吗「建议收藏」在软件开发中,游戏开发这个方向看起来目标很明确,但其实是个领域很广的方向,入门的时候如果得不到指点一二,很容易误入歧途,相反,如果走这条路之前能得到前人的一些指路,是可以事半功倍的。平台与编程语言选择首先,游戏开发的平台就有很多类型:个人主机平台:Windows、Linux、MacOC;移动平台:iOS、Android、WindowsPhone、BlackBerryOS、Symbian;专业主…

    2022年6月5日
    52
  • PHP审计之Duomicms审计

    PHP审计之Duomicms审计前言废话不多说,开冲代码审计任意文件写入定位漏洞代码admin/admin_ping.phpif($action=="set"){$

    2021年12月13日
    48
  • 数据结构:图的存储结构之邻接表

    数据结构:图的存储结构之邻接表对于图来说 邻接矩阵是不错的一种图存储结构 但是我们也发现 对于边数相对顶点较少的图 这种结构是存在对存储空间的极大浪费的 因此我们考虑另外一种存储结构方式 邻接表 AdjacencyLis 即数组与链表相结合的存储方法 邻接表的处理方法是这样的 1 图中顶点用一个一维数组存储 另外 对于顶点数组中 每个数据元素还需要存储指向第一个邻接点的指针 以便于查找该顶点的边信息 2 图中

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号