题解 | #成绩排序#
成绩排序
https://www.nowcoder.com/practice/0383714a1bb749499050d2e0610418b1
#include <bits/stdc++.h>
using namespace std;
struct sc{
string name;
int score;
};
bool cmp1(sc a,sc b){
return a.score<b.score;
}
bool cmp2(sc a,sc b){
return a.score>b.score;
}
int main() {
int a, b;
while (cin >> a >> b) { // 注意 while 处理多个 case
vector<sc> v;
string s;int t;
while(a--)
{
cin>>s>>t;
v.push_back({s,t});
}
if(b)
stable_sort(v.begin(),v.end(),cmp1);
else
stable_sort(v.begin(),v.end(),cmp2);
for(auto i:v)
{
cout<<i.name<<" "<<i.score<<endl;
}
}
return 0;
}
// 64 位输出请用 printf("%lld")

