题解 | #成绩排序#
成绩排序
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")
查看1道真题和解析