L2-021. 点赞狂魔
来源:互联网 发布:网络连接受限 编辑:程序博客网 时间:2024/06/16 13:00
本题要求:
微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。然而有这么一种人,他们会通过给自己看到的一切内容点赞来狂刷存在感,这种人就被称为“点赞狂魔”。他们点赞的标签非常分散,无法体现出明显的特性。本题就要求你写个程序,通过统计每个人点赞的不同标签的数量,找出前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
解题思路 :
用set来判断是否重复,用vec来存储人,最后sort一下,输出前三,不足前三则用‘-’补充。
代码 :
#include <iostream> #include <set>#include <vector> #include <algorithm>using namespace std;class Node { public: char str[9]; int dz; int num; Node() { dz = 0; num = 0; }};bool comp(Node a, Node b) { if (a.dz == b.dz) { return a.num < b.num; } else { return a.dz > b.dz; }}int main() { int n; vector<Node> vec; set<int> s; cin >> n; for (int i = 0; i < n; i++) { s.clear(); Node node; cin >> node.str; int m; cin >> m; node.num = m; int size = 0; int temp; for (int j = 0; j < m; j++) { cin >> temp; s.insert(temp); if (size != s.size()) { size++; node.dz++; } } vec.push_back(node); } sort(vec.begin(), vec.end(), comp); int i; for (i = 0; i < vec.size() && i < 3; i++) { if (i != 0) { cout << " "; } cout << vec[i].str; } while (i < 3) { if (i != 0) { cout << " "; } cout << "-"; i++; } return 0; }
- L2-021. 点赞狂魔
- L2-021. 点赞狂魔
- L2-021. 点赞狂魔
- L2-021. 点赞狂魔
- L2-021. 点赞狂魔
- L2-021. 点赞狂魔
- L2
- L2
- 团体程序设计天梯赛L2-021 点赞狂魔
- 团体程序设计天梯赛L2-021 点赞狂魔
- L2-1 点赞狂魔 (天梯赛决赛)
- L2-study
- swift L2
- l2范数
- L2-007
- L2-001
- L1,L2
- Cheap L2 Adena
- matplotlib图例中文乱码
- Computer Systems
- 服务器----静态网页配置
- js做h5视频播放器,,,toggleClass()方法
- C++语言中的输入输出流------cin 和 cout
- L2-021. 点赞狂魔
- 散列算法与加密算法
- Android Stuido 创建新项目 MainActivity 文件红字报错
- unity 实现键盘控制物体移动和转向
- 操作日期时间工具类
- ORACLE的锁机制
- 欢迎使用CSDN-markdown编辑器
- 3. FastDFS 配置
- hdu2147-kiki's game(巴什博弈)