题解 | #成绩排序#

成绩排序

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

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

int main() {
    int num;
    int flag;
    string name;
    int score;
    vector<pair<string,int>> name_score;

    cin>>num;
    cin>>flag;
    for(int i=0;i<num;i++){
        cin>>name;
        cin>>score;
        name_score.push_back(pair<string,int>(name,score));
    }
    if(flag){
        stable_sort(name_score.begin(),name_score.end(),[]
        (pair<string,int> a,pair<string,int> b){
            return a.second<b.second;});
    }else{
        stable_sort(name_score.begin(),name_score.end(),[]
        (pair<string,int> a,pair<string,int> b){
            return a.second>b.second;});
    }
    for(auto a:name_score){
        cout<<a.first<<' '<<a.second<<endl;
    }
    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

01-21 20:09
武汉大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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