题解
2025-02-16 18:02:38
发布于:江苏
2阅读
0回复
0点赞
代码cmp简化与id思路来自榜一法姐和榜三想学,可以看看他们的,比我好
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>
using namespace std;
int n;
struct awa
{
string s;
int a,b,c,h,id;
}x[1000005];
bool cmp(awa x,awa y)
{
if(x.h!=y.h)
{
return x.h>y.h;
}
else
{
if(x.a!=y.a)
{
return x.a>y.a;
}
else
{
if(x.b!=y.b)
{
return x.b>y.b;
}
else
{
if(x.c!=y.c)
{
return x.c>y.c;
}
}
}
}
return x.id<y.id;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>x[i].s;
scanf("%d%d%d",&x[i].a,&x[i].b,&x[i].c);
x[i].h=x[i].a+x[i].b+x[i].c;
x[i].id=i;
}
sort(x+1,x+1+n,cmp);
for(int i=1;i<=n;i++)
{
cout<<x[i].s<<" ";
printf("%d\n",x[i].h);
}
}
这里空空如也
有帮助,赞一个