3 条题解
-
0
#include <bits/stdc++.h> #define int long long using namespace std; struct stu{ int id,sc; string name; int mc,wz; }a[1005],b[1005]; bool cmp(stu l,stu r){ if(l.sc!=r.sc){ return l.sc>r.sc; } else{ return l.id<r.id; } } signed main(){ int n; cin >> n; for(int i=1;i<=n;i++){ cin >> a[i].id >> a[i].name >> a[i].sc; a[i].wz=i; b[i]=a[i]; } sort(a+1,a+1+n,cmp); for(int i=1;i<=n;i++){ if(i1){ a[i].mc=1; b[a[i].wz].mc=a[i].mc; } else if(a[i].sca[i-1].sc){ a[i].mc=a[i-1].mc; b[a[i].wz].mc=a[i].mc; } else{ a[i].mc=a[i-1].mc+1; b[a[i].wz].mc=a[i].mc; } } for(int i=1;i<=n;i++){ cout << b[i].mc << endl; } return 0; }
-
0
#include <bits/stdc++.h> using namespace std; struct st{ string name; int wz,jx,fen,mc; }; bool cmp1(st a,st b){ if(a.fenb.fen){ return a.mc<b.mc; }else{ return a.fen>b.fen; } } bool cmp2(st a,st b){ return a.wz<b.wz; } int n; st s[1010]; int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>s[i].mc>>s[i].name>>s[i].fen; s[i].wz=i; } sort(s+1,s+1+n,cmp1); s[1].jx=1; for(int i=2;i<=n;i++){ if(s[i].fens[i-1].fen){ s[i].jx=s[i-1].jx; }else{ s[i].jx=s[i-1].jx+1; } } sort(s+1,s+1+n,cmp2); for(int i=1;i<=n;i++){ cout<<s[i].jx<<endl; } return 0; }
-
-1
#include <bits/stdc++.h> using namespace std; struct st{ string name; int wz,jx,fen,mc; }; bool cmp1(st a,st b){ if(a.fen==b.fen){ return a.mc<b.mc; }else{ return a.fen>b.fen; } } bool cmp2(st a,st b){ return a.wz<b.wz; } int n; st s[1010]; int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>s[i].mc>>s[i].name>>s[i].fen; s[i].wz=i; } sort(s+1,s+1+n,cmp1); s[1].jx=1; for(int i=2;i<=n;i++){ if(s[i].fen==s[i-1].fen){ s[i].jx=s[i-1].jx; }else{ s[i].jx=s[i-1].jx+1; } } sort(s+1,s+1+n,cmp2); for(int i=1;i<=n;i++){ cout<<s[i].jx<<endl; } return 0; }
- 1
信息
- ID
- 4783
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 14
- 已通过
- 11
- 上传者