1 solutions

  • 0
    @ 2024-6-5 13:36:19

    排序(Onlgn)(Onlg^n)

    #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;
        }
    }
    
    • 1

    Information

    ID
    417
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    10
    Tags
    # Submissions
    5
    Accepted
    4
    Uploaded By