(可选做) 点赞狂魔 (14 分)
微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。然而有这么一种人,他们会通过给自己看到的一切内容点赞来狂刷存在感,这种人就被称为“点赞狂魔”。他们点赞的标签非常分散,无法体现出明显的特性。本题就要求你写个程序,通过统计每个人点赞的不同标签的数量,找出前3名点赞狂魔。
输入格式:
输入在第一行给出一个正整数N(≤100),是待统计的用户数。随后N行,每行列出一位用户的点赞标签。格式为“Name
K F1⋯FK”,其中Name
是不超过8个英文小写字母的非空用户名,1≤K≤1000,Fi(i=1,⋯,K)是特性标签的编号,我们将所有特性标签从 1 到 107 编号。数字间以空格分隔。
输出格式:
统计每个人点赞的不同标签的数量,找出数量最大的前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<stdio.h>
#include<string.h>
#include<stdlib.h>
struct Node { //点赞狂魔结构体
char Name[10];
int sum;
double a;
};
struct Min { //最小点赞数用户
int min;
int top;
double a;
}m;
int cmp( const void *a ,const void *b)
{
if (((*(struct Node *)a).sum < (*(struct Node *)b).sum) ||
((*(struct Node *)a).sum == (*(struct Node *)b).sum) &&
((*(struct Node *)a).a > (*(struct Node *)b).a)) {
return 1;
}
else {
return -1;
}
}
int main()
{
int i, N, x, cnt = 0, min = 0;
int K[1001];
scanf("%d", &N);
struct Node p, s[3];
m.min = -1;
m.top = 0;
for(i = 0; i < 3; i ++) {
s[i].sum = 0;
s[i].a = 0;
}
for(i = 0; i < N; i ++) {
scanf("%s", p.Name);
p.sum = 0;
int n;
scanf("%d", &n);
p.a = n; //真实点赞数
while(n --){
scanf("%d", &x);
int j, flag = 1;
for(j = 0; j <= p.sum; j ++) {
if(K[j] == x) {
flag = 0;
break;
}
}
if(flag) {
p.sum ++; //标签种类数
K[p.sum] = x;
}
}
p.a /= (p.sum * 1.0);
if(p.sum > m.min) { //判断当前输入的用户是否大于最小用户
int k;
/*将当前用户替换掉数组中最小用户*/
strcpy(s[m.top].Name, p.Name);
s[m.top].sum = p.sum;
s[m.top].a = p.a;
m.min = 1000;
for(k = 0; k < 3; k ++) { //找到更换后数组中的最小用户
if(m.min >= s[k].sum) {
if(m.min == s[k].sum) {
if(m.a > s[k].a) {
continue;
}
}
/*替换最小用户*/
m.min = s[k].sum;
m.top = k;
m.a = s[k].a;
}
}
}
}
qsort(s, 3, sizeof(s[0]), cmp); //调用快排函数
/*输出比较粗暴*/
if(N == 1) {
printf("%s - -", s[0].Name);
}
else if(N == 2) {
printf("%s %s -", s[0].Name, s[1].Name);
}
else {
printf("%s %s %s", s[0].Name, s[1].Name, s[2].Name);
}
return 0;
}
(可选做) 点赞狂魔 (14 分)相关推荐
- 7-84 点赞狂魔 (25 分)
7-84 点赞狂魔 (25 分) 微博上有个"点赞"功能,你可以为你喜欢的博文点个赞表示支持.每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性.然而有这 ...
- 【CCCC】L2-021 点赞狂魔 (25分),,模拟水题,map数组,间接排序
problem L2-021 点赞狂魔 (25分) 微博上有个"点赞"功能,你可以为你喜欢的博文点个赞表示支持.每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了 ...
- 数据结构排序-7-3 点赞狂魔 (25 分)
7-3 点赞狂魔 (25 分) 微博上有个"点赞"功能,你可以为你喜欢的博文点个赞表示支持.每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性.然而有这么 ...
- 7-9 点赞狂魔 (25分)
7-9 点赞狂魔 (25分) 微博上有个"点赞"功能,你可以为你喜欢的博文点个赞表示支持.每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性.然而有这么一 ...
- L2-021 点赞狂魔 (25 分)
L2-021 点赞狂魔 (25 分) 题目 微博上有个"点赞"功能,你可以为你喜欢的博文点个赞表示支持.每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性 ...
- L2-021 点赞狂魔 (25分) | set sort
L2-021 点赞狂魔 (25分) 微博上有个"点赞"功能,你可以为你喜欢的博文点个赞表示支持.每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性.然而有 ...
- 点赞狂魔 (25 分) C语言
点赞狂魔 (25 分) 微博上有个"点赞"功能,你可以为你喜欢的博文点个赞表示支持.每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性.然而有这么一种人, ...
- L2-2 点赞狂魔 (25 分)(C/C++)
输入样例: 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 ...
- PTA-7-3 点赞狂魔 (25分)
问题描述: 微博上有个"点赞"功能,你可以为你喜欢的博文点个赞表示支持.每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性.然而有这么一种人,他们会通过给 ...
最新文章
- OTA常见方案分析(差分升级 全量升级 AB面升级 Recovery系统升级)
- 转载:【opencv入门教程之六】创建Trackbar图片对比度、亮度值调整
- c语言 函数多个参数,C语言函数可变参数
- ReactNative手势解锁(react-native-ok-gesture-password)
- 【.NET架构】BIM软件架构02:Web管控平台后台架构
- ctypes 使用方法与说明
- LeetCode:完全平方数【279】【DP】
- 【2021-12-17】css反爬+pytesseract文字识别
- 1到20阶乘倒数之和
- Android 下载Zip文件,并解压到本地
- PS 图层的基本操作
- vue项目运行后自动打开浏览器
- MAC版photoshop CS6安装与破解
- 计算机A类会议 icip,计算机视觉|中国计算机学会推荐国际学术刊物/会议
- 腾讯互娱开源分布式开发框架Pebble
- 计算机科学人工智能的应用,计算机人工智能技术的应用与发展.pdf
- 爬取热榜数据,通过Qt界面显示,代码可直接运行(python3经典编程案例)
- czl蒻蒟的OI之路14、15
- QmlTableView
- JAVA的IO/NIO?
热门文章
- js 解决页面切换时,定时器setInterval会变得很慢,有时候不执行的问题
- 美赛latex模板单独修改目录的行间距
- 防抖节流理解与应用场景
- OpenStack 运维 - 部署Nova组件 [T版]
- 改进版爬虫 爬取漂亮妹纸图1
- 2010北京联合大学计算机答案,2010年、2011年单考单招考试练习题 - 特殊教育学院- 北京联合大学.doc...
- Spring之——c3p0配置详解
- PartyOK酒吧游戏实用手册
- Unity3D研究院之游戏开发中的人工智能AI
- python post 请求json文件_requests的post请求提交表单、json串和文件数据讲解