B 每日一报 题解

每日一报

http://www.nowcoder.com/questionTerminal/a739939e188e4a73b91d3aa56ad0d511


条信息形如 要求你从中筛选出的,然后按照 为第一关键字(降序), 为第二关键字 (降序) , 为第三关键字 (升序) 排序并输出。


按题意模拟即可。排序可以用

复杂度

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

struct data{
    int date; double tem; int code;
    inline void print(){
        cout << date << ' ';
        cout << code << ' ';
        cout << fixed << setprecision(1) << tem << '\n';
    }
    inline bool operator < (const data w) const{
        if (date != w.date) return date > w.date;
        if (abs(tem-w.tem) > 1e-3) return tem > w.tem;
        return code < w.code;
    }
}a[1000];
int n,m;
int main(){
    int dd; double tt;int cc;
    m = 0; cin >> n;
    while (n--){
        cin >> dd >> cc >> tt;
        if (tt < 38) continue;
        ++m;
        a[m].date = dd;
        a[m].code = cc;
        a[m].tem = tt;
    }
    cout << m << '\n';
    sort(a+1,a+m+1);
    for (int i = 1; i <= m; ++i) a[i].print();
    return 0;
}
全部评论

相关推荐

11-09 01:22
已编辑
东南大学 Java
高级特工穿山甲:羡慕,我秋招有家企业在茶馆组织线下面试,约我过去“喝茶详谈”😢结果我去了发现原来是人家喝茶我看着
点赞 评论 收藏
分享
11-02 09:49
已编辑
货拉拉_测试(实习员工)
热爱生活的仰泳鲈鱼求你们别卷了:没事楼主,有反转查看图片
点赞 评论 收藏
分享
评论
3
收藏
分享
牛客网
牛客企业服务