#include<iostream>
#include<map>
#include<vector>
#include<algorithm>
using namespace std;
struct node{
string s;
map<int, int> mp;
int num, k;
bool operator<(const node&oth)const{
return num==oth.num?k<oth.k:num > oth.num;
}
};
int main(){
int n;
cin >> n;
vector<node> a(n);
for (int i = 0; i < n;++i){
int k, x;
cin >> a[i].s >> k;
for (int j = 0; j < k;++j){
cin >> x;
a[i].mp[x] = 1;
}
a[i].k = k;
a[i].num = a[i].mp.size();
}
sort(a.begin(), a.end());
cout << a[0].s;
for (int i = 1; i < min(n, 3);++i)
cout << " " << a[i].s;
for (int i = n; i < 3;++i)
cout << " -";
}
L2-021 点赞狂魔 (25 分)
最新推荐文章于 2024-07-24 20:55:30 发布