社区讨论
80分!!cmp有问题但不知道错在哪里
P1093[NOIP 2007 普及组] 奖学金参与者 3已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @lyyjbsf2
- 此快照首次捕获于
- 2024/07/23 22:52 2 年前
- 此快照最后确认于
- 2024/07/24 08:23 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
struct student{
int yw,sx,yy,sum;
int id;
};
bool cmp(student a,student b){
if(a.sum==b.sum) {
if (a.yw==b.yw){
if(a.id<b.id){
return a.id;}
else return b.id;
}
if(a.yw>b.yw){
return a.yw;
}
else return b.yw ;
}
else return a.sum>b.sum;
}
int main(){
int n;
cin>>n;
student s[n];
for(int i=0;i<n;i++){
s[i].id=i+1;
cin>>s[i].yw>>s[i].sx>>s[i].yy;
s[i].sum=s[i].yw+s[i].sx+s[i].yy;
}
sort(s,s+n,cmp);
for(int m=0;m<5;m++){
cout<<s[m].id<<' '<<s[m].sum <<endl;
}
return 0;
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...