1 条题解
-
0
Guest
-
1
考查内容
结构体排序
思路分析
主要在于
cmp
函数,先按分数排序,如果相同后按学号排序。所以我们可以写出:bool cmp(stu a,stu b){ if(a.sc!=b.sc) return a.sc>b.sc; else return a.id<=b.id; }
code
#include<bits/stdc++.h> using namespace std; struct stu{ long long id,sc; }t[200005]; bool cmp(stu a,stu b){ if(a.sc!=b.sc) return a.sc>b.sc; else return a.id<=b.id; } int main(){ freopen("score.in","r",stdin); freopen("score.out","w",stdout); int n; cin>>n; for(int i=1;i<=n;i++){ cin>>t[i].sc; t[i].id=i; } sort(t+1,t+n+1,cmp); for(int i=1;i<=n;i++){ cout<<t[i].id<<"\n"; } return 0; }
- 1
信息
- ID
- 772
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- (无)
- 递交数
- 37
- 已通过
- 3
- 上传者