【手把手带你刷好题】——24.挖掘机技术哪家强(简单模拟、非力扣)

简介: 挖掘机技术哪家强

【前言】

今天是刷题打卡第24天!

加油啦。


原题:挖掘机技术哪家强(简单模拟)

题目描述:

为了用事实说明挖掘机技术到底哪家强,组织了一场挖掘机技能大赛。请根据比赛结果统计出技能最强的哪个学校。

输入格式:

第一行给出不超过10^5 的正整数N ,即参赛人数。随后N 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号及其比赛成绩,中间以空格分隔(注意,学校从1开始连续编号,比赛成绩百分制)

输出格式:

在一行中给出总得分最高的学校的编号及其总分,中间以空格分隔。题目保证答案唯一,没有并列。

输入样例:

6

3 65

2 80

1 100

2 70

3 40

3 0

输出样例:

2 150

思路:

  • 数组school[MAXN]记录每个学校的总分,初值为0,对每一个读入的学校schID与其对应的分数score,令school[schID] += score;
  • 令变量k 纪录最高总分的学校编号,变量max纪录最高总分,初值为-1,由于学校是连续编号的,因此枚举编号1~N,不断更新k 和max 即可。

代码执行:

#include<stdio.h>
#define MAXN 100000
int school[MAXN] = { 0 };//记录每个学校的总分
int main()
{
  int n = 0;
  int schID = 0;//学校编号
  int score = 0;//分数
  scanf("%d", &n);//参赛人数
  for (int i = 0; i < n; i++)//读入每一位参赛人员信息
  {
    scanf("%d %d", &schID, &score);
    school[schID] += score;//学校schID的总分增加score
  }
  int k = 0;//用于记录最高总分的学校编号
  int max = -1;//用于记录最高总分
  for (int i = 1; i <= n; i++)//由于学校是从1开始连续编号的,所以范围是1~N,其中包括N
  {
    if (school[i] > max)
    {
      max = school[i];
      k = i;
    }
  }
  printf("%d %d\n", k, max);
  return 0;
}

【敲黑板】:之所以将 int school[MAXN] = { 0 }; 设置成全局变量,是为了防止数据太大导致栈溢出。


总结

今天是刷题打卡第24天!

时间紧,任务重,不过,冲冲冲!


相关文章
|
18天前
|
算法 安全 NoSQL
2024重生之回溯数据结构与算法系列学习之顺序表习题精讲【无论是王道考研人还真爱粉都能包会的;不然别给我家鸽鸽丢脸好嘛?】
顺序表的定义和基本操作之插入;删除;按值查找;按位查找习题精讲等具体详解步骤以及举例说明
|
算法 Android开发 C++
LeetCode 周赛上分之旅 #49 再探内向基环树
学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越抽象,它能覆盖的问题域就越广,理解难度也更复杂。在这个专栏里,小彭与你分享每场 LeetCode 周赛的解题报告,一起体会上分之旅。
90 1
|
算法 搜索推荐 程序员
一文学会算法复杂度分析,面试再也不用愁了。
一文学会算法复杂度分析,面试再也不用愁了。
|
算法 测试技术
刷爆 LeetCode 双周赛 100,单方面宣布第一题最难
上周末是 LeetCode 第 100 场双周赛,你参加了吗?这场周赛整体没有 Hard 题,但是也没有 Easy 题。第一题国服前百名里超过一半人 wa,很少见。
124 0
|
Python
(蓝桥云课)「蓝桥杯赛前急救」简单填空题秒杀拿分技巧
(蓝桥云课)「蓝桥杯赛前急救」简单填空题秒杀拿分技巧
93 0
|
机器学习/深度学习 人工智能 算法
蓝桥杯最后一天复习?各大算法四步法教你轻松秒杀各种题型
大家好,我是泡泡,距离蓝桥杯还有一天时间,我们一定要把握住最后的时间,跟着我,把全部的题型复习整理一遍,让自己不再迷茫不自信,AK蓝桥!
233 0
蓝桥杯最后一天复习?各大算法四步法教你轻松秒杀各种题型
算法刷题第五天(跑路人笔记)<双指针>
算法刷题第五天(跑路人笔记)<双指针>
算法刷题第五天(跑路人笔记)<双指针>