PTA题解 --- 静静的推荐(C语言)

今天是PTA题库解法讲解的第七天,今天我们要讲解静静的推荐,题目如下:

解题思路:

这个问题的核心在于如何在满足给定条件的情况下,最大化推荐学生的数量。首先,我们需要过滤出所有天梯赛成绩不低于175分的学生。然后,我们要按天梯赛成绩排序,如果天梯赛成绩相同,再根据PAT成绩排序。在推荐学生时,我们需要按批次进行,确保每一批的成绩严格递增,同时如果同一天梯赛成绩的学生PAT成绩达到了企业的面试分数线,也可以被接受。

代码实现:

复制代码
#include <stdio.h>
#include <stdlib.h>

typedef struct {
    int ladderScore;
    int patScore;
} Student;

int compareStudents(const void *a, const void *b) {
    Student *studentA = (Student *)a;
    Student *studentB = (Student *)b;
    if (studentA->ladderScore == studentB->ladderScore) {
        return studentB->patScore - studentA->patScore; // Descending PAT scores
    }
    return studentA->ladderScore - studentB->ladderScore; // Ascending Ladder scores
}

int main() {
    int N, K, S;
    scanf("%d %d %d", &N, &K, &S);
    Student students[N];
    int validStudents = 0;

    for(int i = 0; i < N; i++) {
        scanf("%d %d", &students[i].ladderScore, &students[i].patScore);
        if (students[i].ladderScore >= 175) {
            validStudents++;
        } else {
            students[i].ladderScore = -1; // Mark invalid students
        }
    }

    // Sort students based on Ladder and PAT scores
    qsort(students, N, sizeof(Student), compareStudents);

    // Logic to count recommended students goes here.
    // This is a simplified placeholder for the complex logic required.
    // You'll need to implement the detailed selection criteria as described.

    printf("%d\n", validStudents); // Placeholder for actual count of recommended students
    return 0;
}

提交结果:

本题部分没有通过,小伙伴们可以在评论区讨论,来个最优解哦~

相关推荐
JackieZhengChina32 分钟前
零依赖轻量级JS悬浮提示插件title2tip-js的使用教程
开发语言·javascript·ecmascript
李永奉2 小时前
杰理可视化SDK开发-【BUG】配置“TWS两边同时按消息使能”功能后,按键单击功能无效失灵
开发语言·单片机·嵌入式硬件·物联网·bug
m0_617493942 小时前
Python OpenCV 透视变换(Perspective Transform)详解与实战
开发语言·python·opencv
程序猿编码2 小时前
用C++从零开始造一个微型GPT,不借助任何第三方库
开发语言·c++·gpt·模型推理
普通网友2 小时前
pytest一些常见的插件
开发语言·python·pytest
苦瓜花2 小时前
【Kotlin】初入门
android·开发语言·kotlin
cndes3 小时前
给Miniconda换源,让包下载更迅速
开发语言·python
LuminousCPP3 小时前
C 语言集中实践全记录:顺序表 + 单链表原理实现与通讯录项目实战【附可运行源码】
c语言·开发语言·数据结构·经验分享·笔记
兰令水3 小时前
hot100【acm版】【2026.7.13打卡-java版本】
java·开发语言·数据结构·算法·leetcode·面试
SuperByteMaster3 小时前
__set_MSP 和__set_MSPLIM 接口区别
c语言