#include<stdio.h>
#include<math.h>
#include<algorithm>
#include<stdlib.h>
#include<string.h>
#define N 31
using namespace std;
struct W{
int num;
char name[11];
int age;
bool operator <(const W A)const{
if(age!=A.age){
return age<A.age;
}else if(num!=A.num){
return num<A.num;
}
int tmp=strcmp(name,A.name);
if(tmp!=0){
return tmp<0;
}
}
}worker[N];
int main(){
int n;
while(scanf("%d",&n)!=EOF){
for(int i=0;i<n;i++){
scanf("%d%s%d",&worker[i].num,worker[i].name,&worker[i].age);
}
sort(worker,worker+n);
for(int i=0;i<n&&i<3;i++){
printf("%d %s %d\n",worker[i].num,worker[i].name,worker[i].age);
}
}
return 0;
}
/**************************************************************
Problem: 1187
User: cust123
Language: C++
Result: Accepted
Time:10 ms
Memory:1024 kb
****************************************************************/
题目1187:最小年龄的3个职工
最新推荐文章于 2021-08-03 15:02:09 发布