题解 | #成绩排序#

成绩排序

https://www.nowcoder.com/practice/8e400fd9905747e4acc2aeed7240978b

#include <algorithm>
#include <iostream>
#include <string>
#include<vector>
#include<stdlib.h>
using namespace std;

struct Score{
    string name;
    int sc;
};

bool cmp1(const Score &a,const Score &b){
    return a.sc>b.sc?true:false;
}
bool cmp2(const Score &a,const Score &b){
    return b.sc>a.sc?true:false;
}
int main() {
    int n,m,i,y;
    string x;
    cin>>n>>m;
    vector<Score> T(n);
    for(i=0;i<n;i++){
        cin>>x>>y;
        T[i].name=x;
        T[i].sc=y;
    }
    if(m==1) stable_sort(T.begin(),T.end(),cmp2);
    else stable_sort(T.begin(),T.end(),cmp1);
    for(i=0;i<n;i++){
        cout<<T[i].name<<' '<<T[i].sc<<endl;
    }

}
// 64 位输出请用 printf("%lld")

哭哭!睡觉!原来cmp要用bool不能int啊

全部评论

相关推荐

每晚夜里独自颤抖:要求太多的没必要理
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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