Advanced Level 1036 Boys vs Girls (25 point(s))

2023-10-27

题目

This time you are asked to tell the difference between the lowest grade of all the male students and the highest grade of all the female students.

Input Specification::

Each input file contains one test case. Each case contains a positive integer N, followed by N lines of student information. Each line contains a student’s name, gender, ID and grade, separated by a space, where name and ID are strings of no more than 10 characters with no space, gender is either F (female) or M (male), and grade is an integer between 0 and 100. It is guaranteed that all the grades are distinct.

Output Specification:

For each test case, output in 3 lines. The first line gives the name and ID of the female student with the highest grade, and the second line gives that of the male student with the lowest grade. The third line gives the difference g r a d e F − g r a d e M grade_F−grade_M gradeFgradeM​​.If one such kind of student is missing, output Absent in the corresponding line, and output NA in the third line instead.

Sample Input 1:

3
Joe M Math990112 89
Mike M CS991301 100
Mary F EE990830 95

Sample Output 1:

Mary EE990830
Joe Math990112
6

Sample Input 2:

1
Jean M AA980920 60

Sample Output 2:

Absent
Jean AA980920
NA

思路分析:

利用结果排序比较后取女生第一男生最后相减即可

代码:

#include <bits/stdc++.h>
using namespace std;
struct student{
    string name, gender, id;
    int score;
}stu_girl[110], stu_boy[110], stu;
bool cmp(student a, student b){
    if(a.score != b.score) return a.score > b.score;
}
int main(){
    int n, j = 0, k = 0;
    cin >> n;
    for(int i = 0; i < n; i++){
        cin >> stu.name >> stu.gender >> stu.id >> stu.score;
        stu.gender == "M" ? stu_boy[j++] = stu : stu_girl[k++] = stu;
    }
    sort(stu_girl, stu_girl + k, cmp), sort(stu_boy, stu_boy + j, cmp);
    k ? cout << stu_girl[0].name << " " << stu_girl[0].id << endl : cout << "Absent" << endl;
    j ? cout << stu_boy[j - 1].name << " " << stu_boy[j - 1].id << endl : cout << "Absent" << endl;
    j && k ? cout << abs(stu_girl[0].score - stu_boy[j - 1].score) : cout << "NA";
    return 0;
}

PAT_Advanced_Level

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Advanced Level 1036 Boys vs Girls (25 point(s)) 的相关文章

  • 划拳 C语言

    划拳是古老中国酒文化的一个有趣的组成部分 酒桌上两人划拳的方法为 每人口中喊出一个数字 同时用手比划出一个数字 如果谁比划出的数字正好等于两人喊出的数字之和 谁就赢了 输家罚一杯酒 两人同赢或两人同输则继续下一轮 直到唯一的赢家出现 下面给
  • Basic Level 1055 集体照 (25分)

    题目 拍集体照时队形很重要 这里对给定的 N 个人 K 排的队形设计排队规则如下 每排人数为 N K 向下取整 多出来的人全部站在最后一排 后排所有人的个子都不比前排任何人矮 每排中最高者站中间 中间位置为 m 2 1 其中 m 为该排人数
  • 科学计数法 C语言

    题目 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法 其满足正则表达式 1 9 0 9 E 0 9 即数字的整数部分只有 1 位 小数部分至少有 1 位 该数字及其指数部分的正负号即使对正数也必定明确给出 现以科学计数法的格式给
  • 读取文件最后N行

    转自 http www zuidaima com share 1550463669226496 htm 指定行数 可以获取到从这行到文件尾的所有行 分享自大熊 源文件 读取最后10行结果 代码下载地址 http www zuidaima c
  • 7-44 求整数的位数及各位数字之和

    对于给定的正整数N 求它的位数及其各位数字之和 输入格式 输入在一行中给出一个不超过109的正整数N 输出格式 在一行中输出N的位数及其各位数字之和 中间用一个空格隔开 输入样例 321 输出样例 3 6 include
  • Basic Level 1081 检查密码 (15分)

    题目 本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能 该网站要求用户设置的密码必须由不少于6个字符组成 并且只能有英文字母 数字和小数点 还必须既有字母也有数字 输入格式 输入第一行给出一个正整数 N 100 随后 N 行
  • 一元多项式求导 C语言

    设计函数求一元多项式的导数 注 x n n为整数 的一阶导数为nxn 1 输入格式 以指数递降方式输入多项式非零项系数和指数 绝对值均为不超过 1000 的整数 数字间以空格分隔 输出格式 以与输入相同的格式输出导数多项式非零项的系数和指数
  • Basic Level 1093 字符串A+B (20分)

    题目 给定两个字符串 A 和 B 本题要求你输出 A B 即两个字符串的并集 要求先输出 A 再输出 B 但重复的字符必须被剔除 输入格式 输入在两行中分别给出 A 和 B 均为长度不超过 1 0 6 10 6 106的 由可见 ASCII
  • 【PTA】红包几何

    一 题目 N个红包排成一排 各个红包的大小清楚可见 假定你已通过某种方式获取取得k个红包的权力 通常的情况下使用贪心算法每次取最大的红包即可 但规定 只能够从两端取 请编写函数 计算从含有N个红包的红包序列的两端取出k个红包的最大总和值 1
  • 沈师 PTA 数据库题目及部分解析 第一章

    判断题 1 一个数据库只有一个模式和一个内模式 T 2 数据模型是由数据结构 数据操作和完整性约束三部分组成的 T 3 由于数据库中的数据是不断更新的 因此关系模式是相对变化的 F 解析 关系模式不会相对变化 变化的是实例 4 数据库中的数
  • PTA练习 Java模拟题 编程题

    7 1 各类字符数 20 分 从键盘输入一个字符串 程序输出该字符串中的大写英文字母数 小写英文字母数以及非英文字母数 输入格式 字符串 输出格式 大写英文字母数 小写英文字母数 非英文字母数 输入样例 在这里给出一组输入 例如 Hello
  • PTA 6-1 简单输出整数

    6 1 简单输出整数 10 分 本题要求实现一个函数 对给定的正整数N 打印从1到N的全部正整数 函数接口定义 void PrintN int N 其中N是用户传入的参数 该函数必须将从1到N的全部正整数顺序打印出来 每个数字占1行 裁判测
  • 【PTA】整除光棍

    一 题目 光棍 说的是全部由1组成的数字 比如1 11 111 1111等 传说任何一个光棍都能被一个不以5结尾的奇数整除 比如 111111就可以被13整除 现在 你的程序要读入一个整数x 这个整数一定是奇数并且不以5结尾 然后 经过计算
  • L1-020 帅到没朋友(java)

    1 题目详情 当芸芸众生忙着在朋友圈中发照片的时候 总有一些人因为太帅而没有朋友 本题就要求你找出那些帅到没有朋友的人 输入格式 输入第一行给出一个正整数N 100 是已知朋友圈的个数 随后N行 每行首先给出一个正整数K 1000 为朋友圈
  • L2-033 简单计算器 - java

    L2 033 简单计算器 时间限制 400 ms 内存限制 64 MB 题目描述 本题要求你为初学数据结构的小伙伴设计一款简单的利用堆栈执行的计算器 如上图所示 计算器由两个堆栈组成 一个堆栈 S 1 S 1 S1 存放数字 另一个堆栈
  • 力扣每日一题——三角形的最大周长

    题目链接 class Solution public int largestPerimeter vector
  • Basic Level 1052 卖个萌 (20分)

    题目 萌萌哒表情符号通常由 手 眼 口 三个主要部分组成 简单起见 我们假设一个表情符号是按下列格式输出的 左手 左眼 口 右眼 右手 现给出可选用的符号集合 请你按用户的要求输出表情 输入格式 输入首先在前三行顺序对应给出手 眼 口的可选
  • 【PTA】二维数组转置

    写一个程序 使给定的一个二维数组 n n 转置 即行列互换 输入格式 输入n表示n行n列 再输入一个nxn的矩阵的整数 输出格式 转置的结果 输入样例 3 1 2 3 4 5 6 7 8 9 输出样例 1 4 7 2 5 8 3 6 9
  • Basic Level 1016 部分A+B (15分)

    题目 正整数 A A A的 D A D A DA 为1位整数 部分 定义为由 A
  • pta basic level 1002

    include

随机推荐

  • 移动app自动化测试工具发展历程--完整版

    最近在总结关于移动app的自动化测试的系列文章 本来想在7月份推出这个系列 但是又担心7月份的天气太热 开空调费油 所以索性 想到哪就整理到哪 持续的推出来吧 今天先把移动app自动化测试工具总结一下 我大概的搜索了一下 本站的大佬 整理的
  • (C语言)矩阵转置 (10分)

    将一个3 3矩阵转置 即行和列互换 输入格式 在一行中输入9个小于100的整数 其间各以一个空格间隔 输出格式 输出3行3列的二维数组 每个数据输出占4列 输入样例 1 2 3 4 5 6 7 8 9 输出样例 1 4 7 2 5 8 3
  • 自己造一个简易的IOC轮子

    简易的IOC流程编写笔记 首先先对这个小demo做一个说明 首先这个demo是很简易的 里面有一些可以优化的复杂点我设置了TODO 如果你有兴趣的话 可以自己去完善一下 写这个demo就是为了让自己对IOC的一个流程更加熟悉 对于刚开始学习
  • 【ROS工具】ROS基础学习

    ROS基础学习 1 基本介绍 2 实际操作 1 基本介绍 ROS Robot Operating System 是一个机器人操作系统 开始于2007 三个中长期支持版本 对应着Ubuntu的三个LTS版本如下 ROS术语 主节点 ros m
  • 1139 First Contact(unique函数,string.substr()函数)

    PTA 程序设计类实验辅助教学平台 用map套个set来实现邻接表 排序都免了 include
  • Android开发之Retrofit/OkHttp使用

    OkHttp 简介 OkHttp是时下最火的Http请求框架 其官网及源码地址如下 OkHttp官网地址 http square github io okhttp OkHttp源码地址 https github com square okh
  • .Net下正则匹配规则

    Net中常用的正则表达式选项 1 IgnoreCase 忽略大小写 匹配时不区分大小写 2 Multiline 多行模式 更改 和 的含义 使它们分别在任意一行的行首和行尾匹配 而不仅仅在整个字符串的开头和结尾匹配 在此模式下 的精确含意是
  • 寻找小数

    题目描述 有一个分数a b 你需要找到数字c在这个数的小数点后第一次出现的位置 输入格式 输入一行 包含三个整数a b c 输出格式 输出一个整数 如果不存在c 输出 1 样例输入 1 2 0 样例输出 2 约定 1 lt a
  • TCP并发服务器的编程实现

    TCP并发服务器的编程实现 1 基于TCP的服务器编程模型 创建通信端点 套接字 返回该端点的文件描述符 sfd socket 2 2 将sfd和本地的ip地址和端口号绑定 bind 2 3 将sfd设置为被动连接状态 监听客户端的到来 如
  • linux中docker报错:ERROR: Got permission denied while trying to connect to the Docker daemon socket。

    文章目录 一 问题描述 二 问题分析 三 解决方法 1 切换成root用户操作 这是最直接的方法 切换命令 2 添加docker的用户组 把当前用户加入组中 四 gpasswd命令用法 一 问题描述 在运行docker命令 如docker
  • Redis集群教程(Redis cluster tutorial)

    本博文翻译自Redis官网 http redis io topics cluster tutorial 本文档以温和的方式介绍Redis集群 不使用复杂的方式来理解分布式系统的概念 它介绍了如何建立 测试和使用一个集群 没有详细的覆盖Red
  • C语言——猜数字游戏

    游戏规则 输入1则开始游戏 输入0则结束游戏 输入其他数字则会提醒选择错误 输入1 游戏开始 系统会随机生成一个数字 游戏这需要不断根据提醒调整输入的数字 直到输入正确 系统会输出 恭喜你 猜对了 include
  • 每日一题 蛇形矩阵

    蛇形矩阵 输入两个整数n和m 输出一个n行m列的矩阵 将数字 1 到 n m 按照回字蛇形填充至矩阵中 具体矩阵形式可参考样例 输入格式 输入共一行 包含两个整数n和m 输出格式 输出满足要求的矩阵 矩阵占n行 每行包含m个空格隔开的整数
  • Spring——IoC和DI

    目录 一 初识Spring 为什么要使用Spring 什么是Spring Spring框架的核心 由哪些模块组成 二 Core Container 核心容器 IoC 控制反转 什么是 IoC IoC 的作用 IoC 的优点 IoC 的缺点
  • SpringBoot-Web开发

    Spring Boot非常适合web应用程序开发 您可以使用嵌入式Tomcat Jetty Undertow或Netty来创建一个自包含的HTTP服务器 大多数web应用程序使用spring boot starter web模块来快速启动和
  • 基于深度置信网络(DBN)的语音分类识别(Matlab实现)

    基于深度置信网络 DBN 的语音分类识别 Matlab实现 引言 语音分类识别是指根据输入的语音信号 将其划分到预先定义的不同类别中 这一领域广泛应用于语音识别 语音合成 语音转换等众多应用场景中 本文将介绍一种基于深度置信网络 Deep
  • Java web 项目Tamcat在IDEA控制台输出乱码

    遇到乱码问题怎么解决呢 出现乱码其实就是编码格式有问题 设置一下呗 我们先查看一下编码格式 在改一下 1 查看编码格式 首选进入Tamcat安装的根目录 进入conf目录 找到logging prooperties文件并打开 查看编码格式
  • 机箱嗡嗡一直响

    新买的电脑 用了一段时间后 机箱嗡嗡蜂鸣响 特别吵耳朵 一直找不到原因 后来发现原因是硬盘螺丝没有拧紧 把螺丝拧紧了 嗡嗡声没有了 过了一段时间 又发现嗡嗡声 网上一查是说机箱与硬盘产生共振了 第一次发现物理原来在生活中这么普遍 我把机箱侧
  • python第三方库安装成功,但是在pycharm中不能用

    在电脑终端使用pip安装好第三方模块但是在pycham中却显示无法找到此第三方模块 无法导入此模块该如何解决呢 方案一 在Pycharm中 依次打开File gt Settings 弹窗如下图 点击右侧 号 输入自己需要导入包的名称 在下面
  • Advanced Level 1036 Boys vs Girls (25 point(s))

    题目 This time you are asked to tell the difference between the lowest grade of all the male students and the highest grad