题解:P5740 【深基7.例9】最厉害的学生
题目传送门
题意
给定
思路
用结构体存下每个同学的信息,然后用 sort 排序,这里 cmp 函数要自己写。这题的难点在于输出输入时最靠前的人,我们可以用
代码
#include <bits/stdc++.h>
using namespace std;
int n;
struct node
{
char name[18];
int id, x, y, z, sum;
} a[1010];
bool cmp(node a, node b)
{
if (a.x + a.y + a.z == b.x + b.y + b.z)
return a.id < b.id;
return a.x + a.y + a.z > b.x + b.y + b.z;
}
int main()
{
scanf("%d", &n);
for (int i = 1; i <= n; i++)
scanf("%s%d%d%d", a[i].name, &a[i].x, &a[i].y, &a[i].z), a[i].id = i;
sort(a + 1, a + n + 1, cmp);
printf("%s %d %d %d", a[1].name, a[1].x, a[1].y, a[1].z);
return 0;
}
题解来之不易,且看且珍惜。给个赞再走吧。
题目传送门