排序
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
struct stu {
int id;
char name[10];
int grade;
};
const int MAXN = 1e5+5;
stu s[MAXN];
bool cmp1(stu a, stu b) {
return a.id < b.id;
}
bool cmp2(stu a, stu b) {
int c = strcmp(a.name, b.name);
if (!c)
return a.id < b.id;
else if (c < 0)
return true;
else
return false;
}
bool cmp3(stu a, stu b) {
if (a.grade == b.grade)
return a.id < b.id;
else
return a.grade < b.grade;
}
int main() {
int n, c;
scanf("%d%d", &n, &c);
for (int i = 0; i < n; i++)
scanf("%d%s%d", &s[i].id, s[i].name, &s[i].grade);
if (c == 1)
sort(s, s+n, cmp1);
else if (c == 2)
sort(s, s+n, cmp2);
else
sort(s, s+n, cmp3);
for (int i = 0; i < n; i++)
printf("%06d %s %d\n", s[i].id, s[i].name, s[i].grade);
return 0;
}