跟法神的有点像,希望别误解
2023-10-02 13:40:38
发布于:湖南
26阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
long long n;
struct node
{
string name;
int a,b,c,name;
int sum;
voname in()
{
cin>>name>>a>>b>>c;
sum=a+b+c;
}
voname out()
{
cout<<name<<" "<<sum<<endl;
}
}arr[1000005];
bool cmp(node a,node b)
{
if(a.sum!=b.sum)return a.sum>b.sum;
if(a.a!=b.a)return a.a>b.a;
if(a.b!=b.b)return a.b>b.b;
return a.name<b.name;
}
int main()
{
cin>>n;
for(int i=0;i<n;i++)
{
arr[i].in();
arr[i].name=i+1;
}
sort(arr,arr+n,cmp);
for(int i=0;i<n;i++)
{
arr[i].out();
}
return 0;
}
//防抄袭开了哦~~
毕竟谁会骂这只天真无邪的小狗呢
还有冒泡版本,用完绝对OMG!!!
#include<bits/stdc++.h>
using namespace std;
int n;
struct dog
{
string names;
int jing;
int ying;
int tong;
int all;
} a[10001];
int main()
{
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i].names>>a[i].jing>>a[i].ying>>a[i].tong;
a[i].all=a[i].jing+a[i].ying+a[i].tong;
a[i].tong=i;
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n-i;j++)
{
if(a[j].jing>a[j+1].jing)
{
swap(a[j],a[j+1]);
}
else if(a[j].jing==a[j+1].jing)
{
if(a[j].ying>a[j+1].ying)
{
swap(a[j],a[j+1]);
}
else if(a[j].ying==a[j+1].ying)
{
if(a[j].tong>a[j+1].tong)
{
swap(a[j],a[j+1]);
}
}
}
}
}
for(int i=0;i<n;i++)
{
cout<<a[i].names<<" "<<a[i].all;
}
return 0;
}//这个没开
毕竟谁会骂这只天真无邪的小狗呢
这里空空如也
有帮助,赞一个