题目详情 - L2-021 点赞狂魔 (25 分) (pintia.cn)
题目有个坑点:标签出现次数平均值,是:总数 除以 不同数 。
结构体排序+set
#include<iostream>
#include<algorithm>
#include<set>
using namespace std;
const int N = 110;
struct Node{
string name;
int cnt;
int sum;
bool operator<(const Node& t) const{
if(cnt != t.cnt) return cnt > t.cnt;
return sum < t.sum;
}
}a[N];
int main(){
int n;
cin>>n;
for(int i = 0; i < n; i++){
string name;
int k;
set<int> s;
cin>>name>>k;
for(int i = 0; i < k; i++){
int fk; cin>>fk;
s.insert(fk);
}
int cnt = s.size();
a[i] = {name,cnt,k};
}
sort(a,a+n);
for(int i = 0; i < 3; i++){
if(i) cout<<' ';
if(i > n-1) cout<<"-";
else cout<<a[i].name;
}
return 0;
}
|