注解
1、结构体排序。此题就是模拟ACM onlineJudge的规则。
2、排名原则:做题数+罚时。
代码
#include <iostream>
#include <algorithm>
using namespace std;
struct Team{
string name;
int num;
int t;
};
int compare(Team s1, Team s2){
if(s1.num!=s2.num){
return s1.num>s2.num;
}
else{
return s1.t<s2.t;
}
}
int main() {
int T;
cin>>T;
Team team[T];
for(int i=0; i<T; i++){
cin>>team[i].name;
team[i].num = 0;
team[i].t = 0;
for(int j=0; j<4; j++){
int a, b;
cin>>a>>b;
if(b>0){
team[i].num++;
team[i].t += b + 20*(a-1);
}
}
}
sort(team, team+T, compare);
cout<<team[0].name<<" "<<team[0].num<<" "<<team[0].t<<endl;
return 0;
}