博约8486 • 26天前
using namespace std;
struct stu{
char c;
string name;
double ave;
double s;
}ss[100005];
int g[25];
bool cmp(stu a, stu b){
if(a.s == b.s){
return a.name < b.name;
}else return a.s > b.s;
}
int main(){
int n, m;
cin >> n >> m;
for(int i = 0; i < n; i++){
string cur;
cin >> cur;
ss[i].c = cur[0];
ss[i].name = cur;
double sum = 0;
for(int j = 0; j < m; j++){
int x;
cin >> x;
sum += x;
g[j] = x;
}
double ave = sum / m * 1.0;
ss[i].ave = ave;
double sum2 = 0;
for(int j = 0; j < m; j++){
sum2 += (g[j] - ave) * (g[j] - ave);
}
double stn_diff = sqrt(sum2 / m * 1.0);
ss[i].s = stn_diff;
}
sort(ss, ss + n, cmp);
for(int i = 0; i < min(n, 20); i++){
cout << ss[i].name<<endl;
}
}
评论:
请先登录,才能进行评论