跟法神的有点像,希望别误解
2023-10-02 13:40:38
发布于:湖南
36阅读
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;
}//这个没开
毕竟谁会骂这只天真无邪的小狗呢
这里空空如也



有帮助,赞一个