题解 | #[USACO 2010 Nov B]Race Results#

[USACO 2010 Nov B]Race Results

https://ac.nowcoder.com/acm/problem/24743

本意思路:运用结构体sort进行排序,这里可以使用运算符重载或写一个cmpcmp函数,我选用的是运算符重载。

sortsort底层运用的是<<运算符,所以我们可以重载<<运算符。

重载运算符模板:

bool operator < (node a, node b) {
    return a > b;
}//将 < 变成 > ,但要注意一点, 传入的参数只能是自定义类型

以下下代码会报错:

bool operator < (int a, int b) {
    return a > b;
}//错误

下面看代码:

#include <iostream>
#include <algorithm>
using namespace std;

const int N = 5005;
int n;

struct node {
    int h, m, s;
}a[N];

bool operator < (node a, node b) {//重载小于运算符
    return a.h < b.h || a.h == b.h && a.m < b.m || a.h == b.h && a.m == b.m && a.s < b.s;    
}

int main() {
    #ifndef ONLINE_JUDGE
        freopen("in.txt", "r", stdin);
        freopen("out.txt", "w", stdout);
    #endif
    cin >> n;
    for (int i = 1; i <= n; i ++) 
        cin >> a[i].h >> a[i].m >> a[i].s;
    sort (a + 1, a + 1 + n);
    for (int i = 1; i <= n; i ++)
        cout << a[i].h << " " << a[i].m << " " << a[i].s << endl;
    return 0;
}

制作不易,给个赞呗!

已写的题解集 文章被收录于专栏

将自己知道的一些竞赛知识推广给大家

全部评论

相关推荐

05-25 10:45
门头沟学院 Java
Frank_zhan...:没实习一个项目肯定不够,可以再做一个轮子,技术栈再补一个mq,微服务,整体再换个简历模板,暑期尽量再找一个日常实习
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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