L2-027 名人堂与代金(排序)

L2-027 名人堂与代金(排序)原题链接对于在中国大学MOOC(http://www.icourse163.org/ )学习“数据结构”课程的学生,想要获得一张合格证书,总评成绩必须达到 60 分及以上,并且有另加福利:总评分在 [G, 100] 区间内者,可以得到 50 元 PAT 代金券;在 [60, G) 区间内者,可以得到 20 元PAT代金券。全国考点通用,一年有效。同时任课老师还会把总评成绩前 K 名的学生列入课程“名人堂”。本题就请你编写程序,帮助老师列出名人堂的学生,并统计一共发出了面值多少元的 PAT 代金券。输入格

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

原题链接

对于在中国大学MOOC(http://www.icourse163.org/ )学习“数据结构”课程的学生,想要获得一张合格证书,总评成绩必须达到 60 分及以上,并且有另加福利:总评分在 [G, 100] 区间内者,可以得到 50 元 PAT 代金券;在 [60, G) 区间内者,可以得到 20 元PAT代金券。全国考点通用,一年有效。同时任课老师还会把总评成绩前 K 名的学生列入课程“名人堂”。本题就请你编写程序,帮助老师列出名人堂的学生,并统计一共发出了面值多少元的 PAT 代金券。

输入格式:
输入在第一行给出 3 个整数,分别是 N(不超过 10 000 的正整数,为学生总数)、G(在 (60,100) 区间内的整数,为题面中描述的代金券等级分界线)、K(不超过 100 且不超过 N 的正整数,为进入名人堂的最低名次)。接下来 N 行,每行给出一位学生的账号(长度不超过15位、不带空格的字符串)和总评成绩(区间 [0, 100] 内的整数),其间以空格分隔。题目保证没有重复的账号。

输出格式:
首先在一行中输出发出的 PAT 代金券的总面值。然后按总评成绩非升序输出进入名人堂的学生的名次、账号和成绩,其间以 1 个空格分隔。需要注意的是:成绩相同的学生享有并列的排名,排名并列时,按账号的字母序升序输出。

输入样例:

10 80 5
cy@zju.edu.cn 78
cy@pat-edu.com 87
1001@qq.com 65
uh-oh@163.com 96
test@126.com 39
anyone@qq.com 87
zoe@mit.edu 80
jack@ucla.edu 88
bob@cmu.edu 80
ken@163.com 70

输出样例:

360
1 uh-oh@163.com 96
2 jack@ucla.edu 88
3 anyone@qq.com 87
3 cy@pat-edu.com 87
5 bob@cmu.edu 80
5 zoe@mit.edu 80

普通排序版本

#include<bits/stdc++.h>
#define x first
#define y second
#define send string::nops
using namespace std;
typedef long long ll;
const int N = 1e5 + 10;
const int M = 3 * N;
const int INF = 0x3f3f3f3f;
typedef pair<int,int> PII;
typedef struct Node * pnode;
struct Node{ 
   
    int mingci;
    string name;
    int score;
}node[N];
bool cmp(const Node &a,const Node &b){ 
   
    if(a.score == b.score)return a.name < b.name;
    else return a.score > b.score;
}
int main(){ 
   
    int n,m,top,num = 0;
    ios::sync_with_stdio(false);
    cin>>n>>m>>top;
    for(int i = 0;i < n;i ++){ 
   
        cin>>node[i].name>>node[i].score;
        if(node[i].score >= m)num += 50;
        else if(node[i].score >= 60)num += 20;
    }
    sort(node,node + n,cmp);
    node[0].mingci = 1;
    cout<<num<<endl;
    cout<<node[0].mingci <<" "<<node[0].name<<" "<<node[0].score<<endl;
    for(int i = 1;i < n ;i ++){ 
   
        if(node[i].score == node[i - 1].score)node[i].mingci = node[i - 1].mingci;
        else node[i].mingci = i + 1;
        if(node[i].mingci <= top)
            cout<<node[i].mingci <<" "<<node[i].name<<" "<<node[i].score<<endl;
        else break;
    }
// for(int i = 0;node[i].mingci <= top;i ++)
// cout<<node[i].mingci <<" "<<node[i].name<<" "<<node[i].score<<endl;
    return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168916.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据仓库常见建模方法与建模实例演示[通俗易懂]

    数据仓库常见建模方法与建模实例演示[通俗易懂]1.数据仓库建模的目的?为什么要进行数据仓库建模?大数据的数仓建模是通过建模的方法更好的组织、存储数据,以便在性能、成本、效率和数据质量之间找到最佳平衡点。一般主要从下面四点考虑访问性能:能够快速查询所需的数据,减少数据I/O 数据成本:减少不必要的数据冗余,实现计算结果数据复用,降低大数据系统中的存储成本和计算成本 使用效率:改善用户应用体验,提高使用数据的效率 数据质量…

    2022年9月23日
    0
  • c语言socket编程代码例子

    c语言socket编程代码例子socket_client客户端代码#include<sys/types.h>#include<sys/socket.h>#include<stdio.h>#include<string.h>#include<error.h>#include<netinet/in.h>intmain(){//1.创建socket,socket()函数intsockfd=0;sockfd=sock.

    2022年10月24日
    0
  • TCP拥塞控制策略

    TCP拥塞控制策略一、Reno1、算法执行示意                                   图1 算法执行图2、算法原理Reno是一种基于丢包的拥塞控制算法,将丢包视为出现拥塞,采取缓慢探测的方式,逐渐增大拥塞窗口,当出现丢包时,将拥塞窗口减小。该算法拥塞控制的过程分为四个阶段:慢开始、拥塞避免、快重传和快恢复,分别对应四种算法。 (1)慢开始算法当主机总数…

    2022年6月24日
    25
  • 为UWP应用开启回环访问权限「建议收藏」

    为UWP应用开启回环访问权限

    2022年3月13日
    180
  • 线程通信机制—共享内存:消息传递

    线程通信机制—共享内存:消息传递在并发编程中,我们必须考虑的问题时如何在两个线程间进行通讯。这里的通讯指的是不同的线程之间如何交换信息。目前有两种方式:1、共享内存2、消息传递(actor模型) 共享内存共享内存这种方式比较常见,我们经常会设置一个共享变量。然后多个线程去操作同一个共享变量。从而达到线程通讯的目的。例如,我们使用多个线程去执行页面抓取任务,我们可以使用一个共享变量count来记录任务

    2022年7月16日
    10
  • java微服务架构有哪些_漂浮服务区后端

    java微服务架构有哪些_漂浮服务区后端在本文中我们将主要研究目前主要的BaaS平台的功能,以及Google,Facebook,Apple等互联网巨头在BaaS领域的动作。同时我们也会关注国内一些主流BaaS平台的发展以及国内互联网巨头如百度,华为等在BaaS领域的投入发展。1.国外主流的BaaS平台 在BaaS领域,有几件事情值得关注:2013年4月,Facebook收购Parse;2013年12月,Paypal收…

    2025年5月27日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号