题解 | #[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;
}

制作不易,给个赞呗!

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

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

全部评论

相关推荐

12-27 22:49
门头沟学院 Java
点赞 评论 收藏
分享
12-15 14:16
门头沟学院 Java
回家当保安:发offer的时候会背调学信网,最好不要这样。 “27届 ”和“28届以下 ”公司招聘的预期是不一样的。
实习简历求拷打
点赞 评论 收藏
分享
11-07 16:07
复旦大学 运营
前端飞升:学长,阿里不是卡双非吗,我深也能去吗
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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