题解——结构体
2025-07-14 08:53:47
发布于:河北
5阅读
0回复
0点赞
这道题非常简单,定义一个结构体数组,然后写一个cmp排序函数就行了,再次不做过多解释,直接上代码:
#include<bits/stdc++.h>
using namespace std;
struct node{
int x;
int y;
int z;
int k;
};
bool cmp(node x1,node y1){
if(x1.x!=y1.x){
return x1.x>y1.x;
}
else if(x1.y!=y1.y){
return x1.y>y1.y;
}
else if(x1.z!=y1.z){
return x1.z<y1.z;
}
else{
return x1.k<y1.k;
}
}
node a[1010];
int n;
int main() {
cin>>n;
for (int i=1;i<=n;i++) {
cin>>a[i].k>>a[i].x>>a[i].z>>a[i].y;
}
sort(a+1,a+n+1,cmp);
for (int i=1;i<=n;i++) {
cout<<a[i].k<<" ";
}
return 0;
}
这里空空如也
有帮助,赞一个