一、思路
想偷鸡,但不行(超时警告)。感受到莫大痛苦。
二、代码
#include <cstdio>
#include <cstring>
#include <vector>
#include <algorithm>
using namespace std;
typedef struct
{
int ID, score;
char name[11];
}item;
int main()
{
int N, tag;
scanf("%d %d", &N, &tag);
vector<item> rec(N);
for( int i = 0; i < N; ++i )
scanf("%d %s %d", &rec[i].ID, rec[i].name, &rec[i].score);
if( tag == 1 )
sort( rec.begin(), rec.end(), [] ( item a, item b ) { return a.ID < b.ID; } );
else if( tag == 2 )
sort( rec.begin(), rec.end(), [] ( item a, item b ) { if( !strcmp( a.name, b.name ) ) return a.ID < b.ID; else return strcmp( a.name, b.name ) < 0; } );
else sort( rec.begin(), rec.end(), [] ( item a, item b ) { if( a.score != b.score ) return a.score < b.score; else return a.ID < b.ID; } );
for( int i = 0; i < N; ++i )
printf("%06d %s %d\n", rec[i].ID, rec[i].name, rec[i].score);
}