2 条题解

  • -1
    @ 2026-3-29 11:05:23
    #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;
    }
    
    

    信息

    ID
    4783
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    递交数
    7
    已通过
    5
    上传者