Skip to content

L1-034 点赞

Statement

Metadata

  • 作者: 陈越
  • 单位: 浙江大学
  • 代码长度限制: 16 KB
  • 时间限制: 200 ms
  • 内存限制: 64 MB

微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。本题就要求你写个程序,通过统计一个人点赞的纪录,分析这个人的特性。

输入格式

输入在第一行给出一个正整数N\le 1000),是该用户点赞的博文数量。随后N行,每行给出一篇被其点赞的博文的特性描述,格式为“K F_1\cdots F_K”,其中1\le K\le 10F_ii=1, \cdots , K)是特性标签的编号,我们将所有特性标签从1到1000编号。数字间以空格分隔。

输出格式

统计所有被点赞的博文中最常出现的那个特性标签,在一行中输出它的编号和出现次数,数字间隔1个空格。如果有并列,则输出编号最大的那个。

输入样例

4
3 889 233 2
5 100 3 233 2 73
4 3 73 889 2
2 233 123

输出样例

233 3

Solution

#include <ctype.h>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <deque>
#include <iostream>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <vector>

using namespace std;
typedef long long LL;

const double PI = 3.14159265358979323846264338327;
const double E = 2.718281828459;
const double eps = 1e-6;

const int MAXN = 0x3f3f3f3f;
const int MINN = 0xc0c0c0c0;
const int maxn = 1e5 + 5;
const int MOD = 1e9 + 7;

int main() {
    int n;
    cin >> n;
    map<int, int> M;
    M.clear();
    for (int i = 0; i < n; i++) {
        int m;
        cin >> m;
        for (int j = 0; j < m; j++) {
            int num;
            cin >> num;
            M[num]++;
        }
    }
    map<int, int>::iterator it;
    int MAX = MINN, ans = 0;
    for (it = M.begin(); it != M.end(); it++) {
        if (it->second >= MAX) {
            MAX = it->second;
            ans = it->first;
        }
    }
    printf("%d %d\n", ans, MAX);
}

Last update: May 4, 2022
Back to top