30pts玄关求助,剩下的全WA
查看原帖
30pts玄关求助,剩下的全WA
1140668
___W___Z___L___PVP楼主2025/1/1 17:47
#include <bits/stdc++.h>
using namespace std;
int n;

struct rode {
	int x, y, z, xyz, xy, mxy, ii, cnt;
} a[10009];

bool cmp(rode xx, rode yy) {
	if (xx.xyz != yy.xyz)
		return xx.xyz > yy.xyz;
	if (xx.xy != yy.xyz)
		return xx.xy > yy.xy;
	else
		return xx.mxy > yy.mxy;
}

bool cmp1(rode xx, rode yy) {
	return xx.ii < yy.ii;
}

int main() {
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> a[i].x >> a[i].y >> a[i].z;
		a[i].xyz = a[i].x + a[i].y + a[i].z;
		a[i].xy = a[i].x + a[i].y;
		a[i].mxy = max(a[i].x, a[i].y);
		a[i].ii = i;
	}
	sort(a + 1, a + n + 1, cmp);
	for (int i = 1; i <= n; i++) {
		if (a[i].xyz == a[i - 1].xyz && a[i].xy == a[i - 1].xy && a[i].mxy == a[i - 1].mxy)
			a[i].cnt = a[i - 1].cnt;
		else
			a[i].cnt = i;
	}
	sort(a + 1, a + n + 1, cmp1);
	for (int i = 1; i <= n; i++)
		cout << a[i].cnt << '\n';

	return 0;
}
2025/1/1 17:47
加载中...