4 solutions
-
1
#include<bits/stdc++.h> using namespace std; const int N=310; struct Stu{ int total,yuwen,shuxue,yingyu,id; /* bool operator<(const Stu& w)const { if(total!=w.total) return total>w.total; if(yuwen!=w.yuwen) return yuwen>w.yuwen; return id<w.id; } */ }; Stu s[N]; bool cmp(Stu a,Stu b) { if(a.total!=b.total) return a.total>b.total; if(a.yuwen!=b.yuwen) return a.yuwen>b.yuwen; return a.id<b.id; } int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>s[i].yuwen>>s[i].shuxue>>s[i].yingyu; s[i].total=s[i].yuwen+s[i].shuxue+s[i].yingyu; s[i].id=i; } sort(s+1,s+n+1,[](Stu a,Stu b){ if(a.total!=b.total) return a.total>b.total; if(a.yuwen!=b.yuwen) return a.yuwen>b.yuwen; return a.id<b.id; }); for(int i=1;i<=5;i++) { cout<<s[i].id<<" "<<s[i].total<<endl; } /* sort(a+1,a+n+1); a[1]到a[n]从小到大排序 sort(a,a+n); a[0]到a[n-1]从小到大排序 sort(a+1,a+n+1,greater<int>()) //从大到小排序 reverse(a+1,a+n+1);a[1]到a[n]翻转 bool cmp(int a,int b) { //枚举合法规则 return 1; return 0; } sort(a+1,a+6,[](int x,int y){ if(x%2!=0&&y%2==0) return 1; if(x%2!=0&&x%2!=0&&x>y) return 1; return 0; }); */ return 0; } -
1
#include<bits/stdc++.h> using namespace std; const int N=310; struct Stu{ int t,y,s,u,i; }; Stu s[N]; bool cmp(Stu a,Stu b) { if(a.t>b.t) return 1; if(a.t==b.t&&a.y>b.y) return 1; if(a.t==b.t&&a.y==b.y&&a.i<b.i) return 1; return 0; } int main() { int n;cin>>n; for(int i=1;i<=n;i++) { cin>>s[i].y>>s[i].s>>s[i].u; s[i].t=s[i].y+s[i].y+s[i].s; } sort(s+1,s+n+1,cmp); for(int i=1;i<=5;i++) { cout<<s[i].i<<" "<<s[i].t<<endl; } return 0; } -
0
#include<bits/stdc++.h> using namespace std; const int N=310; struct Stu{ int total,yuwen,shuxue,yingyu,id; }; Stu s[N]; bool cmp(Stu a,Stu b) { if(a.total>b.total) return 1; if(a.total==b.total&&a.yuwen>b.yuwen) return 1; if(a.total==b.total&&a.yuwen==b.yuwen&&a.id<b.id) return 1; return 0; } int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>s[i].yuwen>>s[i].shuxue>>s[i].yingyu; s[i].total=s[i].yingyu+s[i].yuwen+s[i].shuxue; s[i].id=i; } sort(s+1,s+1+n,cmp); for(int i=1;i<=5;i++) { cout<<s[i].id<<" "<<s[i].total<<endl; } return 0; } -
0
#include<bits/stdc++.h> using namespace std; const int N=310; struct Stu{ int total,yuwen,shuxue,yingyu,id; }; Stu s[N]; bool cmp(Stu a,Stu b) { if(a.total>b.total) return 1; if(a.total==b.total&&a.yuwen>b.yuwen) return 1; if(a.total==b.total&&a.yuwen==b.yuwen&&a.id<b.id) return 1; return 0; } int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>s[i].yuwen>>s[i].shuxue>>s[i].yingyu; s[i].total=s[i].yingyu+s[i].shuxue+s[i].yuwen; s[i].id=i; } sort(s+1,s+1+n,cmp); for(int i=1;i<=5;i++) { cout<<s[i].id<<" "<<s[i].total<<endl; } return 0; } //包对!!!
- 1
Information
- ID
- 945
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- (None)
- # Submissions
- 139
- Accepted
- 28
- Uploaded By