题解 | #成绩排序#

成绩排序

https://www.nowcoder.com/practice/0383714a1bb749499050d2e0610418b1

#include <iostream>
#include<cstdio>
#include<algorithm>
using namespace std;

struct student{
    string name;
    int score;
    int order;
};

student arr[10000];

int Comparede(student a,student b){
    if(a.score==b.score)
        return a.order<b.order;
    else return a.score>b.score;
}
int Compareas(student a,student b){
    if(a.score==b.score)
        return a.order<b.order;
    else return a.score<b.score;
}

int main() {
    int n,t;
    while(scanf("%d%d",&n,&t)!=EOF){
        for(int i=0;i<n;i++){
            cin>>arr[i].name>>arr[i].score;
            arr[i].order=i;}
        if(t==0)
            sort(arr,arr+n,Comparede);
        else sort(arr,arr+n,Compareas);
        for(int i=0;i<n;i++)
            cout<<arr[i].name<<" "<<arr[i].score<<endl;
    }
return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

牛客刘北:如果暑期实习是27届的话,你要晚一年才会毕业,企业为什么会等你呢?要搞清时间逻辑呀!27届现在实习只能是在暑假实习,这是日常实习,不是暑期实习。所以多去投日常实习吧,暑期实习肯定不会要你的
点赞 评论 收藏
分享
每晚夜里独自颤抖:要求太多的没必要理
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
今天 14:00
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务