我是小学生 • 11天前
using namespace std; int n,k; double b[30],tot=0; struct node{
string nam;
double gra;
}a[100010]; bool cmp(node& a,node& b) {
if(a.gra==b.gra)
{
return a.nam<b.nam;
}
return a.gra>b.gra;
} int main() {
cin>>n>>k;
for(int i=1;i<=n;i++)
{
cin>>a[i].nam;
memset(b, 0, 30*sizeof(double));
tot=0;
for(int j=1;j<=k;j++)
{
cin>>b[j];
tot+=b[j];
}
double u=tot/k,sum = 0;
for(int j=1;j<=k;j++)
{
sum+=pow(b[j]-u,2);
}
a[i].gra=sqrt(sum/k);
}
sort(a+1,a+n+1,cmp);
if(n<=20)
{
for(int i=1;i<=n;i++)
{
cout << a[i].nam << endl;
}
}
else
{
for(int i=1;i<=20;i++)
{
cout << a[i].nam << endl;
}
}
return 0;
}
评论:
请先登录,才能进行评论