其他分享
首页 > 其他分享> > PTA L2-021 点赞狂魔

PTA L2-021 点赞狂魔

作者:互联网

// ConsoleApplication62.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
#pragma warning(disable:4996)
#include <iostream>
#include <algorithm>
#include <set>
#include <vector>

class K
{
public:
    K() {}
    K(std::string ss, int aa, double bb) :s(ss), a(aa), b(bb) {}
    std::string s;
    int a;
    double b;
};

bool cmp(K k1, K k2)
{
    if (k1.a == k2.a)
        return k1.b > k2.b;
    return k1.a > k2.a;
}

int n;
std::vector<K> vk;

int main()
{
    std::cin >> n;
    for (int i = 0; i < n; i++)
    {
        std::string name;
        int j;
        std::cin >> name >> j;
        std::set<int> s;
        for (int k = 0; k < j; k++)
        {
            int l;
            std::cin >> l;
            s.insert(l);
        }
        int sz = s.size();
        vk.push_back({ name, sz, (double) sz / j });
    }

    std::sort(vk.begin(), vk.end(), cmp);

    for (int i = 0; i < 3; i++)
    {
        if (i < vk.size())
            std::cout << vk[i].s;
        else
            std::cout << "-";
        if (i != 3 - 1)
            printf(" ");
    }
}

 

标签:std,int,vk,k2,k1,L2,021,include,点赞狂
来源: https://www.cnblogs.com/siyu1915/p/14532058.html