样例都没过,求大佬调试,多谢。
查看原帖
样例都没过,求大佬调试,多谢。
1246981
jiangchengzhe楼主2024/8/5 20:42
#include<bits/stdc++.h>
using namespace std;
struct node{
	int ch,ma,en,cm,cmg,zf,pm;
	bool zg;
};
bool cmp(node x,node y){
	if(x.zf>y.zf) return x.zf<y.zf;
	if(x.cm>y.cm) return x.cm<y.cm;
	if(x.cmg>y.cmg) return x.cmg<y.cmg;
	else return x.zf>y.zf;
}
node a[10005],b[10005];
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int n;
	cin>>n;
	a[0].ch=0,a[0].cm=0,a[0].cmg=0,a[0].en=0,a[0].ma=0,a[0].zf=-1;
	for(int i=1;i<=n;i++){
		cin>>a[i].ch>>a[i].ma>>a[i].en;
		a[i].cm=a[i].ch+a[i].ma;
		a[i].cmg=max(a[i].ch,a[i].ma);
		a[i].zf=a[i].ch+a[i].ma+a[i].en;
		b[i].ch=a[i].ch;
		b[i].en=a[i].en;
		b[i].cm=a[i].cm;
		b[i].cmg=a[i].cmg;
		b[i].ma=a[i].ma;
		b[i].zf=a[i].zf;
	}
	sort(a+1,a+1+n,cmp);
//	for(int i=1;i<=n;i++){
//		cout<<a[i].ch<<" "<<a[i].ma<<" "<<a[i].en<<'\n';
//	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(a[i].ch==b[j].ch&&a[i].en==b[j].en&&a[i].ma==b[j].ma){
				a[j].pm=j;
				break;
			}
		}
	}
	for(int i=1;i<=n;i++){
		cout<<a[i].pm<<'\n';
	}
	return 0;
}

输出: 1 2 3 4 5 6(已加\n,此处为了方便而没换行)

2024/8/5 20:42
加载中...