A1012. The Best Rank (25)

ROS2 -Jazzy 一步一步(第一步_工作空间以及编译) 文件夹作用特点是否需要手动创建/维护src存放自己写的 ROS 2 包一个 workspace 可以有多个包需要手动创建build保存编译过程中的中间文件每个包生成对应子目录自动生成,可删除install保存编译完成后的功能包每个包有独立子目录,含可执行文件自动生成,可删除log保存编译日志用于查看错误原因、调试自动生成,不需修改colcon是 ROS 2 推荐使用的构建工具自动处理功能包的依赖和编译顺序一条命令就能编译整个工作空间。 阅读详情

A1012

To evaluate the performance of our first year CS majored students, we consider their grades of three courses only: C - C Programming Language, M - Mathematics (Calculus or Linear Algebra), and E - English. At the mean time, we encourage students by emphasizing on their best ranks -- that is, among the four ranks with respect to the three courses and the average grade, we print the best rank for each student.

For example, The grades of C, M, E and A - Average of 4 students are given as the following:

StudentID  C  M  E  A
310101     98 85 88 90
310102     70 95 88 84
310103     82 87 94 88
310104     91 91 91 91

Then the best ranks for all the students are No.1 since the 1st one has done the best in C Programming Language, while the 2nd one in Mathematics, the 3rd one in English, and the last one in average.

Input

Each input file contains one test case. Each case starts with a line containing 2 numbers N and M (<=2000), which are the total number of students, and the number of students who would check their ranks, respectively. Then N lines follow, each contains a student ID which is a string of 6 digits, followed by the three integer grades (in the range of [0, 100]) of that student in the order of C, M and E. Then there are M lines, each containing a student ID.

Output

For each of the M students, print in one line the best rank for him/her, and the symbol of the corresponding rank, separated by a space.

The priorities of the ranking methods are ordered as A > C > M > E. Hence if there are two or more ways for a student to obtain the same best rank, output the one with the highest priority.

If a student is not on the grading list, simply output "N/A".

Sample Input
5 6
310101 98 85 88
310102 70 95 88
310103 82 87 94
310104 91 91 91
310105 85 90 90
310101
310102
310103
310104
310105
999999
Sample Output
1 C
1 M
1 E
1 A
3 A
N/A
利用优先级A>C>M>E的设定,可以将其存入字符数组中,即利用数组下标代替课程,简化程序。

同时,利用全局变量now可以定位需要进行排序的成绩。

AC代码如下:

#include <cstdio>
#include <algorithm>
using namespace std;
struct Per {
    int num;
    int grade[4];
    int rank[4];
};
Per person[2005];
int now;
char course[5] = { 'A','C','M','E' };
bool cmp(Per a, Per b) {
    if (a.grade[now] != b.grade[now])return a.grade[now] > b.grade[now];
    else return a.num < b.num;
}
int main() {
    int n, m;
    scanf("%d %d", &n, &m);
    int pc, pm, pe;
    for (int i = 0; i < n; i++) {
        scanf("%d %d %d %d", &person[i].num, &pc, &pm, &pe);
        person[i].grade[0] = (pc + pe + pm) / 3;
        person[i].grade[1] = pc; person[i].grade[2] = pm; person[i].grade[3] = pe;
    }
    for (now = 0; now < 4; now++) {
        sort(person, person + n, cmp);
        for (int i = 0; i < n; i++) {
            if (i == 0)person[i].rank[now] = 1;
            else {
                if (person[i].grade[now] == person[i - 1].grade[now])
                    person[i].rank[now] = person[i - 1].rank[now];
                else
                    person[i].rank[now] = i + 1;
            }
        }
    }
    int num,info;
    char best;
    bool flag = false;
    for (int i = 0; i < m; i++) {
        flag = false;
        scanf("%d", &num);
        for (int j= 0; j < n; j++) {
            if (num == person[j].num) {
                flag = true;
                info = j;
                break;
            }
        }
        if (!flag)
            printf("N/A");
        else {
            int max = 3000;
            for (int k = 0; k < 4; k++) {
                if (max > person[info].rank[k]) {
                    max = person[info].rank[k];
                    now = k;
                }
            }
            printf("%d %c", max, course[now]);
        }
        if (i != m - 1)
            printf("\n");
    }
    return 0;
}




数学建模学习(121):Python实现模糊AHP(Fuzzy AHP)——从原理到实践 Python实现模糊AHP(Fuzzy AHP) 阅读详情

相关推荐

C++开发基础之掌握常用的三种异步编程模型

以上是三种常见的C++异步编程模型,每种模型都有其适用的场景和特点。根据具体需求,你可以选择合适的模型来进行异步编程。

dotnet研习社 2177

简单暴力的排序方式:直接排序

俗话说:一方水土养一方人,不同的环境,会造成不同的结果。 比如南方人和北方人,虽然都是伟大中国的人民,但身体外形,处世态度,有着天壤之别。南方人温文而雅,北方人五大三粗。 南方人的处世态度:能吵吵的,坚决不动手。 北方人的出事态度:能动手的,坚决不吵吵。 人有差别,那么,在咱们排序方式中,有没有一种简单直接的排序方式呢?有,那就是直接插入排序。 1.测试对象 2.规则讲解 直接插入排序的规则(默...

攻城小弟的分享社区 1376

一文带你了解SOA接口测试

了解汽车电子行业的人,近几年可能经常见到一个词“SOA”,那SOA具体是什么?作为测试人员应该要测试哪些内容呢?这篇文章就简单给大家介绍一下。SOA(Service Oriented Architecture)是一种面向服务的架构,最早应用于IT行业,虽然行业内对于SOA的定义没有一个统一的描述,但是总体而言,SOA把功能定义成为服务,服务带有明确的可调用接口,并可以通过网络调用。在汽车领域,对于高性能计算平台而言,为了实现域控制器以及区域控制器之间的互联互通和软硬分离、缩短开发周期等优势,也引入了SOA的

怿星科技的博客 7156

rank函数在c语言怎么用,如何利用RANK函数排名?RANK函数怎么使用?

如何利用RANK函数排名?Excel表格中有一个名为“RANK”的函数,这个函数可以帮助用户对数据的数值大小进行排名(且会自动筛选重名),所显示的结果是有多少项目就显示多少项目,RANK函数是应用方法请看下文。如何利用RANK函数排名?平常生活中,我们想将一列数字排序,大家最易想到的是用排序按钮,然后下一列用自动填充功能填充,但是当遇到两个数据相同的时候,这样填充出来的数据就不能很好的显示排名情况...

weixin_35960357的博客 2129

电力电子技术速通复习

一种完全纯净,结构完整的半导体晶体,其含有两种载流子而且,自由电子的浓度和空穴的浓度总是相等,一般情况下,在硅晶体中掺入P(磷)五价元素,多子为自由电子,少子为空穴;在硅晶体中掺入B(磷)三价元素,多子为空穴,少子为自由电子;6.PN结具有单相导电性,PN结具有雪崩击穿(T越高,击穿电压越大)和齐纳击穿(T越高,击穿电压越小),均可逆,热击穿不可逆;PN结具有电容效应,势垒电容(耗尽层变化等效的电容)扩散电容(非平衡少子引起的电荷量的变化等效出来的电容效应)

qq_62873973的博客 2507

学习海康VisionMaster之圆查找

(1):ROI选中位置修正,并且修正信息需要选择刚刚创建的位置修正组件输出信息,这里的话后续的检测窗口一般都需要做这一步,因为大部分的应用场景都是需要用到实时跟踪的。圆查找模块是用于查找指定区域的圆,并且会输出该圆的相关参数信息,比如圆中心点,圆半径,圆是否存在等信息。7):剔除点数:和高级参数里面的剔除距离搭配使用的,就是过滤较远的边缘点,让拟合圆心出来的轮廓更加接近。中的圆查找,相当于就是拟合圆心,这个在视觉软件中的应用也是非常广泛的,通常用于定位,测量项目。

yuhouxiyang的专栏 2104

c语言 程序 快速排序

给出n和n个整数,从小到大给他们排序 #include #include void rank(int a[],int n,int begin,int end); int main() {     int num;     int a[100000];     int i;     printf("please input the numbe

zhuhuiyu_的博客 788

PCL Fast Global Registration 快速全局配准(源码版)

Fast Global Registration(FGR)是一种经典的点云粗配准算法,已集成到Open3D和CloudCompare等软件中。本文介绍了该算法的源码实现及优化方法,包括如何通过修改源码直接读取点云进行配准,而不依赖文件中读取特征描述子。文章还提供了关键参数设置(如最大迭代次数、匹配距离等)。算法实现简单高效,未来计划发布基于纯PCL的版本。源码和论文链接已附上,供开发者参考。

点云侠的博客 383

2021.12.03LeetCode每日一题——K次取反后最大化的数组和

目录 K次取反后最大化的数组和 描述 示例 1 示例 2 示例 3 提示 方法一:暴力排序 方法二:修改负数 方法三:排序改进 K次取反后最大化的数组和 描述 给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组: 选择某个下标 i并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后,返回数组 可能的最大和 。 示例 1 输入:nums = [4,2,3], k = 1 输出.

小唐要努力的博客 699

【二】MADDPG多智能体算法实现(parl)【追逐游戏复现】

论文全称:Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments 论文原文:https://download.csdn.net/download/sinat_39620217/16203960 论文翻译:https://blog.csdn.net/qiusuoxiaozi/article/details/79066612 ...

丨汀、的博客 2万+

华为OD机试真题 新系统【进制转换后自定义排序】

华为OD机试 新系统真题【进制转换后自定义排序】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【进制转换后自定义排序】多语言题解。

qq_45776114的博客 598

八大排序算法简明扼要

八大排序算法 冒泡排序(暴力排序)、选择排序、快速排序、归并排序(后序排序)、链式基数排序、插入排序、希尔排序、堆排序。 拥有相关性的排序: (选择排序、快速排序);(插入排序、希尔排序); 时间复杂度和空间复杂度。 例子:for循环n次, for中执行的代码为单元。 时间复杂度:n循环的次数 O(n); 空间复杂度:此循环所占存储器上存储空间,复杂度:O(n)即 一个单元所占空间 *...

WX丶SpongeBob的博客 806

YOLOv8剪枝 lamp剪枝测试精度仅掉0.7个点,速度提高11.8fps!

该摘要介绍了LAMP剪枝方法的创新点和理论分析,重点突出了其最小化L2失真和分层自适应剪枝的特性。LAMP通过引入ξ变量在最坏情况下优化剪枝失真,并简化了计算过程。文章还提供了代码移植的具体步骤,包括创建compress.py文件和相关配置说明。

FJN110的博客 1114

PAT:A1012 The Best Rank (25 分)

PAT:A1012 The Best Rank (25 分) To evaluate the performance of our first year CS majored students, we consider their grades of three courses only: C - C Programming Language, M - Mathematics (Calculus...

Ecloss 903

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

PAT—A1012 The Best Rank (25 分)

题目地址: PAT—A1012 The Best Rank (25 分) 题意 首先输入给出 n , m 代表 n 个学生和 m 个查询,接下来的 n 行分别输入 n 个学生的学号和 C , M , E 三科成绩( A 是三科成绩四舍五入得到的平均成绩。现在要求分别按 4 个分数(C , M , E , A)对 n 个学生进行排名(分数一样的具有相同的名次),这样对每个学生来说都有四个名次(每个...

weixin_43870123的博客 267

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

A1012 The Best Rank (25分)【C语言】

A1012 The Best Rank (25分)【C语言】 原题链接 晴神… 题目描述: To evaluate the performance of our first year CS majored students, we consider their grades of three courses only: C - C Programming Language, M - Mathematics (Calculus or Linear Algrbra), and E - English. At t

SASAKI_130的博客 319

A1012 The Best Rank (25 分)

To evaluate the performance of our first year CS majored students, we consider their grades of three courses only: C - C Programming Language, M - Mathematics (Calculus or Linear Algrbra), and E - Eng...

哈士奇想咬你的博客 323

PAT A1012. The Best Rank (25)

原文链接: PAT A1012. The Best Rank (25) ...

阿豪 89

[PAT-Advanced] A1012 The Best Rank (25)

文章目录A1012 The Best Rank (25point(s))Input Specification:Output Specification:Sample Input:Sample Output:CodeAnalysis、 A1012 The Best Rank (25point(s)) To evaluate the performance of our first year CS ...

Duke 275

A1012 The Best Rank (25分)

To evaluate the performance of our first year CS majored students, we consider their grades of three courses only:C- C Programming Language,M- Mathematics (Calculus or Linear Algrbra), andE- Eng...

iDestro的博客 165

PAT-A 1012 The Best Rank (25 分)

每个学生有C语言、数学、英语、三门成绩的平均成绩,共4个成绩。 分别按照每一门成绩对学生进行排名,每个学生将有4个排名,取最好的那个排名为最终排名。如果一个学生有两个科目的排名都是最好的排名,那么按照平均成绩>C语言>数学>英语的优先级来确定取得最好排名的科目。比如,一个学生4个成绩排名都是第1,那么认为该学生取得最好排名的是平均成绩,输出时将输出“1 A”。 在对某一门成绩进行排序时,如果有两个学生的成绩相同,那么这两个同学在该门成绩中的排名相同。 比如C语言的成绩从高到低为100

qq_38127801的博客 365

PAT A1012 The Best Rank (25分)

题意:给三个分数CME,加上算出来的平均分(要四舍五入,测试了才发现的),4个分数对应有4个排名,给出他们的最好排名(聊以自慰嘛→_→),最后根据给出的查询编号,查询出他们的最好排名和对应学科,或者查无此人。 AC代码: //1012 The Best Rank (25分) https://pintia.cn/problem-sets/994805342720868352/problem...

tangobravo的博客 354

PAT A 1012 The Best Rank (25 分)

思路 设置全局变量tag,实现依据tag排序;

Siumai's Blog 236

A1012 The Best Rank (25 分)

#include&amp;lt;iostream&amp;gt; #include&amp;lt;cstdio&amp;gt; #include&amp;lt;cstring&amp;gt; #include&amp;lt;algorithm&amp;gt; using namespace std; struct student { int grade[4];//0-average 1-c 2-m 3-e int id; }stu[2010

A_Aria的博客 119
上一篇: A1025. PAT Ranking (25)
下一篇: PAT A1028. List Sorting (25)
DemonInside
博客等级 码龄10年 1粉丝 18原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值