L2-021. 点赞狂魔

#include 
#include 
#include 
#include 
#include 
#include 
#include 

using namespace std;
set st[105];
int num[105];
struct node{
  string name;
  double ps;
  int cnt;
}per[105];
bool cmp1(struct node a,struct node b){
  if(a.cnt == b.cnt){
    return a.ps < b.ps;
  }
  return a.cnt > b.cnt;
}
int main(void){
  int n;
  cin>>n;

  for(int i = 0; i < n; i++){
    cin>>per[i].name>>num[i];
    int la;
    for(int j = 1; j <= num[i]; j++){
      cin>>la;
      st[i].insert(la);
    }
  }
  for(int i = 0; i < n ; i++){
    per[i].cnt = st[i].size();
    per[i].ps = double(num[i]) / double(st[i].size()) ;

  }
  
  sort(per,per + n,cmp1);
  
  int i;
  for(i = 0; i < 3 && i < n; i++){
    if(i == 2){
      cout<

你可能感兴趣的:(PAT&天梯)