题解:P11950 [科大国创杯初中组 2023] 评分
niuniudundun · · 题解
题目传送门
前置知识:排序、结构体。
首先结构体中需要编号
接着输入
然后按
最后输出。
代码:
复杂度:
#include<bits/stdc++.h>
using namespace std;
const int maxn=101;
int n,m;
int a[maxn][maxn];
struct node{
double answer;
int id;
}ans[maxn];
bool cmp(node x,node y){
return x.answer==y.answer?x.id<y.id:x.answer>y.answer;
}
signed main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
ans[i].id=i;
int mina=101,maxa=-1;
for(int j=1;j<=m;j++){
cin>>a[i][j];
mina=min(a[i][j],mina);
maxa=max(a[i][j],maxa);
ans[i].answer+=a[i][j];
}
ans[i].answer=(ans[i].answer-mina-maxa)/(m-2);
}
sort(ans+1,ans+n+1,cmp);
for(int i=1;i<=n;i++){
cout<<ans[i].id<<" ";
}
return 0;
}
/*
4 4
4 70 69 34
18 43 85 71
100 50 69 80
67 82 90 43
*/