题解 | 最小年龄的3个职工

#include <bits/stdc++.h>
#include <vector>
using namespace std;

struct Cop{
    int id;
    string name;
    int age;
    Cop(int id,string name,int age):id(id),name(name),age(age){}
    bool operator <(Cop b){
        if(age==b.age){
            if(id==b.id){
                return name<b.name;
            }else return id<b.id;
        }else return age<b.age;
    }
};

int main(){
    int n;
    while(cin>>n){
        vector<Cop>a;
        while(n--){
            int id,age;string name;
            cin>>id>>name>>age;
            a.push_back(Cop(id,name,age));
        }
        sort(a.begin(),a.end());
        for(int i=0;i<3;i++){
            cout<<a[i].id<<" "<<a[i].name<<" "<<a[i].age<<endl;
        }
    }
}

自定义排序

全部评论

相关推荐

xdm怎么说&nbsp;要被拷打了&nbsp;担心是KPI
丹田:面就完了,就当日薪四位数的大佬免费给给你面试。
点赞 评论 收藏
分享
白火同学:大二有这水平很牛了,可以适当对关键信息加粗一点,比如关键技术、性能指标之类的。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-23 18:34
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务