0pts求调!
查看原帖
0pts求调!
663740
qinxili楼主2024/6/10 11:04
#include<bits/stdc++.h>
using namespace std;
struct Node
{
	int c,m,e,r,id,all;
}p[100000];
bool cmp1(Node a,Node b)
{
	if(a.all!=b.all)
	{
		return a.all>b.all;
	}
	else if((a.c+a.m)!=(b.c+b.m))
	{
		return (a.c+a.m)>(b.c+b.m);
	}
	else if(max(a.c,a.m)!=max(b.c,b.m))
	{
		return max(a.c,a.m)>max(b.c,b.m);
	}
	else
	{
		return a.id<b.id;
	}
}
bool cmp2(Node a,Node b)
{
	return a.id<b.id;
}
int main()
{
	int n;
	cin>>n;
	for(int i=1; i<=n; i++)
	{
		cin>>p[i].c>>p[i].m>>p[i].e;
		p[i].all=p[i].c+p[i].m+p[i].e;
		p[i].id=i;
	}
	sort(p+1,p+1+n,cmp1);
	for(int i=1; i<=n; i++)
	{
		p[i].r=i; 
	}
	sort(p+1,p+1+n; cmp2);
	for(int i=1; i<=n; i++)
	{
		cout<<p[i].r<<"\n";
	}
	return 0;
}

改了非常久,不知道哪里出错了

2024/6/10 11:04
加载中...