原题链接
思路:将每个学生的考号和成绩储存在结构体里,然后排序。
std:
#include <bits/stdc++.h>
using namespace std;
int n;
double ch, ma, en;
struct student
{
int id, sum;
} st[100010];
bool operator<(student l, student r)
{
return l.sum > r.sum || l.sum == r.sum && l.id < r.id;
}
int main()
{
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> ch >> ma >> en;
st[i].id = i;
st[i].sum = ch * 2 + ma * 2 + en * 2 + 0.01;
}
sort(st + 1, st + 1 + n);
for (int i = 1; i <= n; i++)
{
cout << st[i].id << ' ';
}
return 0;
}