大佬求助!!!
查看原帖
大佬求助!!!
1140668
___W___Z___L___PVP楼主2024/12/18 20:47
#include <bits/stdc++.h>
using namespace std;
int n;

struct rode {
	int x, y, z, ii;
} a[10009];

bool cmp(rode xx, rode yy) {
	if (xx.x + xx.y + xx.z != yy.x + yy.y + yy.z)
		return xx.x + xx.y + xx.z > yy.x + yy.y + yy.z;
	if (xx.x + xx.y != yy.x + yy.y)
		return xx.x + xx.y > yy.x + yy.y;
	if (max(xx.x, xx.y) != max(yy.x, yy.y))
		return max(xx.x, xx.y) > max(yy.x, yy.y);
	else
		return 0;
}

int main() {
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> a[i].x >> a[i].y >> a[i].z;
		a[i].ii = i;
	}
	sort(a + 1, a + n + 1, cmp);
	for (int i = 1; i <= n; i++) {
		int k = 0, sum = 0;
		for (int j = 1; j <= n; j++) {
			if (a[j].ii == i) {
				k = j;
				break;
			}
		}
		sum = k;
		for (int j = 1; j <= n; j++) {
			if (a[j].x + a[j].y + a[j].z == a[k].x + a[k].y + a[k].z && a[j].x + a[j].y == a[k].x + a[k].y
			        && max(a[k].x, a[k].y) == max(a[j].x, a[j].y))
				sum--;
		}
		cout << sum + 1 << '\n';
	}

	return 0;
}
2024/12/18 20:47
加载中...