首页 > 其他分享 >18107 校赛排名

18107 校赛排名

时间:2024-08-21 17:25:24浏览次数:13  
标签:contestants used int problems 18107 Contestant 排名 校赛 排序

### 详细分析

为了对参赛选手进行排序,我们需要按照以下规则:
1. 按照通过题数从高到低排序。
2. 如果通过题数相同,则按照用时从少到多排序。
3. 如果通过题数和用时都相同,则按照输入的先后顺序排序。

### 思路

1. 读取输入的选手数量 `N`。
2. 读取每个选手的数据(通过题数、用时、姓名),并存储在一个结构体数组中。
3. 使用自定义的比较函数对选手数组进行排序。
4. 输出排序后的选手姓名。

### 伪代码

1. 定义结构体 `Contestant`,包含通过题数、用时、姓名和输入顺序。
2. 读取输入的 `N`。
3. 读取每个选手的数据,并存储在 `Contestant` 数组中。
4. 使用 `std::sort` 函数和自定义比较函数对 `Contestant` 数组进行排序���
5. 输出排序后的选手姓名。

### C++代码

#include <iostream>
#include <vector>
#include <algorithm>
#include <cstdio>
#include <cstring>

using namespace std;

struct Contestant {
    int problems_solved;
    int time_used;
    char name[21];
    int index;
};

bool compare(const Contestant &a, const Contestant &b) {
    if (a.problems_solved != b.problems_solved)
        return a.problems_solved > b.problems_solved;
    if (a.time_used != b.time_used)
        return a.time_used < b.time_used;
    return a.index < b.index;
}

int main() {
    int N;
    scanf("%d", &N);
    vector<Contestant> contestants(N);

    for (int i = 0; i < N; ++i) {
        scanf("%d %d %s", &contestants[i].problems_solved, &contestants[i].time_used, contestants[i].name);
        contestants[i].index = i;
    }

    sort(contestants.begin(), contestants.end(), compare);

    for (const auto &contestant : contestants) {
        printf("%s\n", contestant.name);
    }

    return 0;
}


 

标签:contestants,used,int,problems,18107,Contestant,排名,校赛,排序
From: https://blog.csdn.net/huang1xiao1sheng/article/details/141337086

相关文章

  • 提高谷歌引擎搜索排名一连串儿丝滑小连招
    在运营独立网站时,最令人沮丧的事情莫过于网站未能获得谷歌的高排名,尽管付出了诸多努力。由于互联网上内容繁多,找到在谷歌上获得排名的确切方法几乎是不可能的。谷歌有多个排名因素,但这些因素并非孤立存在,而是由多种算法组成。为了帮助您的网站在谷歌上获得更好的排名,我们提供了......
  • 15个电脑录屏软件新鲜出炉!2024最新录屏排名榜看这里!
    电脑上面的录屏软件实在是太多啦,如果自己去挑选肯定非常耗费时间!今天俺就将目前市面上最主流的录屏软件,全部做一个总结和测评,排在前面的都是性能比较好滴,当然也有一些不错的免费录屏工具,总有一款适合你!-----分割线-----1.ApowerREC官网地址:https://www.apowersoft.cn/recor......
  • echrts 折线图实现数据排名展示
    效果:  接口结构:{"data":[{"tdtRank":1,"tranTransferOvertimeRate":0.0211,"outtranOpOvertimeRate":0.0041,"siteDispSignOvertimeRate":0.019......
  • 最佳阵容问题(数学建模校赛题目)(附带word文档)
    最佳阵容问题(数学建模校赛题目)(附带word文档)......
  • 牛客JS题(十七)总成绩排名
    注释很详细,直接上代码涉及知识点:引用传值深拷贝合理封装题干:我的答案<!DOCTYPEhtml><html><head><metacharset="utf-8"/></head><body><scripttype="text/javascript">/***这题虽然没啥难度但......
  • 考试排名(YACS)
    题目描述某学校的某次考试成绩以等第形式出现的,每名学生的成绩都是ABCD中的一个。学校有 n 个班级,小爱想根据这次考试中 A 的比例,从高到低为这些班级排序;若出现两个班级 A 的比例相同,就按 B 的比例从高到低排序;若再相同,就按照 C 的比例;若再相同,就按照班级人数从大......
  • 外链发布要求:如何有效提升网站SEO排名
    外链发布的重要性在当今竞争激烈的网络世界中,网站的SEO排名至关重要。而外链是提升网站SEO排名的关键因素之一。外链不仅可以增加网站的曝光度,还能够提高搜索引擎对网站的信任度和权重,从而在搜索结果中获得更高的排名。因此,制定有效的外链发布要求对于网站的发展至关重要。外链......
  • 头脑特工队2:全球动画电影票房榜第一 全球电影票房总榜排名第14 被许多教育家心理学家
    这部创纪录的夏季大片于周二超越了另一部迪士尼影片《冰雪奇缘2》,总票房$14.63亿。折合人民币约等于106亿元!这部电影已经成为了人们谈论青春期情感变化的文化焦点,被许多教育家和心理学家推崇为教学佳作!《头脑特工队2》击败了迪士尼的另一部电影《冰雪奇缘2》,成为有史以来......
  • 源代码加密软件最新排名|企业源代码加密软件推荐
    随着企业数字化转型的加速,源代码作为软件开发的核心资产,其安全性变得尤为重要。源代码加密软件不仅能够保护企业的知识产权,还能防止商业机密的泄露,因此成为了众多企业关注的焦点。安秉源代码加密软件安秉源代码加密软件是一款专门设计用于保护企业源代码免遭泄露的专业加密......
  • 题解:2024牛客多校赛第二场 A Floor Tiles(思维)
    2024NowcoderMulti-UniversityTrainingContest2ProblemA.FloorTiles题目大意给你两种正方形图案,分别为以下两种:再给你三个整数\(N,M,K\),表示你需要用这两种图案,拼成一个\(N\)列\(M\)行的矩形。由于这两种图案十分特殊,他们能无缝衔接在一起。因此你需要让这个矩......