为什么会有这么简单的题…………
#include<bits/stdc++.h>
using namespace std;
struct Stu{
int id;
string name;
int score;
};
vector<Stu> stu;
int N, C;
int main() {
cin >> N >> C;
stu.resize(N);
for(int i = 0;i < N;++i)
cin >> stu[i].id >> stu[i].name >> stu[i].score;
if(C == 1){
sort(stu.begin(), stu.end(), [](Stu a, Stu b){
return a.id < b.id;
});
} else
if(C == 2){
sort(stu.begin(), stu.end(), [](Stu a, Stu b){
if(a.name == b.name)
return a.id < b.id;
return a.name < b.name;
});
} else
if(C == 3){
sort(stu.begin(), stu.end(), [](Stu a, Stu b){
if(a.score == b.score)
return a.id < b.id;
return a.score < b.score;
});
}
for(Stu s: stu){
printf("%06d ", s.id);
cout << s.name;
printf(" %d\n", s.score);
}
}