1032. 挖掘机技术哪家强
来源:互联网 发布:淘宝捉猫猫时装碎片 编辑:程序博客网 时间:2024/04/26 04:27
一、题目
为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。
输入格式:
输入在第1行给出不超过10^5的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从1开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。
输出格式:
在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。
输入样例:
6
3 65
2 80
1 100
2 70
3 40
3 0
输出样例:
2 150
二、个人理解
此题考察排序。但是此题乍看上去好像是用结构体排序,但是深思起来,这样肯定会运行超时。所以此时应该采用更灵活的方式,如采用数组索引保存编号。
关键点:
- 输入的同时,同时将编号与分数一一映射,并进行累加。
- 求最高分编号时,应该另外有个副本以便保存映射关系。
C++:
#include <iostream>#include <stdlib.h>using namespace std;int cmp(const void *a, const void *b){ return *(int *)a - *(int *)b;}int main(){ int n; cin >> n; int i, j; int sum[n]; for (i = 0; i < n; i++) { sum[i] = 0; } //巧用数组,将编号作为索引 for (i = 0; i < n; i++) { int num, result; cin >> num >> result; sum[num - 1] += result; } //副本,以便求最高分学校编号 int temp[n]; for (i = 0; i < n; i++) { temp[i] = sum[i]; } qsort(sum, n, sizeof(int), cmp); for (i = 0; i < n; i++) { if (temp[i] == sum[n - 1]) { cout << i + 1 << " "; } } cout << sum[n - 1];}
阅读全文
0 0
- 1032. 挖掘机技术哪家强
- 1032. 挖掘机技术哪家强
- 1032. 挖掘机技术哪家强
- 1032. 挖掘机技术哪家强
- 1032. 挖掘机技术哪家强
- 1032.挖掘机技术哪家强
- 1032. 挖掘机技术哪家强
- 1032. 挖掘机技术哪家强
- 1032. 挖掘机技术哪家强
- 1032. 挖掘机技术哪家强
- 1032. 挖掘机技术哪家强
- 1032. 挖掘机技术哪家强(20)
- 1032. 挖掘机技术哪家强(20)
- 1032. 挖掘机技术哪家强(20)
- 1032. 挖掘机技术哪家强(20)
- 1032. 挖掘机技术哪家强(20)
- 1032. 挖掘机技术哪家强(20)
- 1032. 挖掘机技术哪家强(20)
- 【NY1013】
- 关于ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法
- __I、 __O 、__IO是什么意思?
- Unity 移动端简单手势控制(移动,旋转,缩放)
- Elasticsearch5.6安装配置
- 1032. 挖掘机技术哪家强
- 如何写SysV服务管理脚本
- CentOS7下 解决yum install mysql-server没有可用包的问题
- spark2.1.0安装步骤
- 页面刷新
- mongo 比较两个字段值是否一样
- 学习总结:JavaScript基础知识汇总
- IDEA maven变更后导致自动重置LanguageLevel和JavaCompiler版本的问题
- 【MySQL】MySQL各个版本区别及官网下载地址