题目来源

  • 华为机试:统计射击比赛成绩

题目描述

题目解析

#include <sstream>
#include <algorithm>
#include <map>
#include <set>
#include <queue>
using namespace std;struct Info{int id;int score;Info() : id(0), score(0){}Info(int id, int score) : id(id), score(score){}
};std::vector<int> split(std::string str, char ch){std::vector<int> ans;str += ch;int j = 0;for (int i = 0; i < str.size(); ++i) {if(str[i] == ch){ans.push_back(stoi(str.substr(j, i - j)));j = i + 1;}}return ans;
}int main() {int N;std::string str1, str2;
//    std::cin >> N;
//    std::cin >> str1;
//    std::cin >> str2;std::vector<int> ids = split("3,3,7,4,4,4,4,7,7,3,5,5,5", ',');std::vector<int> scores = split("53,80,68,24,39,76,66,16,100,55,53,80,55", ',');std::map<int, std::priority_queue<int>> map;for (int i = 0; i < N; ++i) {map[ids[i]].push(scores[i]);}int score;std::vector<Info> ans;for(auto &it : map){if(it.second.size() < 3){continue;}int id = it.first;int scoreSum = 0;for (int i = 0; i < 3; ++i) {scoreSum += it.second.top(); it.second.pop();}ans.emplace_back(id, scoreSum);}std::sort(ans.begin(), ans.end(), [](Info &a, Info &b){return a.score > b.score ? true : (a.score == b.score ? a.id > b.id : false) ;});for (auto & an : ans) {std::cout << an.id  <<"\t";}
}

华为机试:统计射击比赛成绩相关推荐

  1. 【算法题】统计射击比赛成绩

    统计射击比赛成绩 package collections;import java.io.BufferedReader; import java.io.IOException; import java. ...

  2. 【华为OD机试真题 Java】统计射击比赛成绩

    前言:本专栏将持续更新华为OD机试题目,并进行详细的分析与解答,包含完整的代码实现,希望可以帮助到正在努力的你.关于OD机试流程.面经.面试指导等,如有任何疑问,欢迎联系我,wechat:steven ...

  3. 【华为OD机试真题 Python】统计射击比赛成绩

    前言:本专栏将持续更新华为OD机试题目,并进行详细的分析与解答,包含完整的代码实现,希望可以帮助到正在努力的你.关于OD机试流程.面经.面试指导等,如有任何疑问,欢迎联系我,wechat:steven ...

  4. 【华为OD机试 2023 B卷 | 100分】 统计射击比赛成绩(C++ Java JavaScript )

    在线OJ 已购买本专栏用户,请私信博主开通账号,在线刷题!!! 运行出现 Runtime Error 0Aborted,请忽略 华为OD统一考试A卷+B卷 新题库说明 2023年5月份,华为官方已经将 ...

  5. 【华为机试真题Java】统计射击比赛成绩

    目录 题目描述 输入描述 输出描述 参考示例 参考代码 机试介绍 写在最后 题目描述 给定一个射击比赛成绩单,包含多个选手若干次射击的成绩分数,请对每个选手按其最高3个分数之和进行降序排名,输出降序排 ...

  6. 华为OD机试真题 Python 实现【统计射击比赛成绩】

    目录 题目 思路 考点 Code 题目 给定一个射击比赛成绩单,包含多个选手若干次射击的成绩分数,请对每个选手按其最高3个分数之和进行降序排名,输出降序排名后的选手ID序列.条件如下: 1.一个选手可 ...

  7. 华为机试真题 Java 实现【统计射击比赛成绩】

    目录 题目 思路 考点 Code 题目 给定一个射击比赛成绩单,包含多个选手若干次射击的成绩分数,请对每个选手按其最高3个分数之和进行降序排名,输出降序排名后的选手ID序列.条件如下: 1.一个选手可 ...

  8. 【华为机试真题 Python】统计射击比赛成绩

    目录 题目描述 输入描述 输出描述 参考示例 参考代码 机试介绍 写在最后

  9. 华为机试--统计字符

    描述: 输入一行字符,分别统计出包含英文字母.空格.数字和其它字符的个数. 数据范围:输入的字符串长度满足 1≤n≤1000 输入描述: 输入一行字符串,可以有空格 输出描述: 统计其中英文字符,空格 ...

  10. 华为机试(JAVA)真题Od【A卷+B卷】

    各语言题库: [Python+JS+Java合集][超值优惠]:Py/JS/Java合集 [Python]:Python真题题库 [JavaScript]:JavaScript真题题库 [Java]: ...

最新文章

  1. html无序列表空心圆_列表样式的使用CSS入门基础(018)
  2. 搜索进程内存地址_Linux编程 6 (查看进程 ps 及输出风格)
  3. input 强大的 input 标签
  4. Eclipse轻松玩转SmartFramework
  5. python生成二维码、动态二维码 和 而二维码解析
  6. laravel后台扩展包
  7. 【转】 嵌入式C语言编程中Inline函数的应用
  8. 为什么我们会看到 SAP Spartacus 服务器端渲染 `rendering in process` 的日志
  9. python父亲节礼物_父亲节程序员硬核示爱:你能看懂几条
  10. MFC中属性表单和向导对话框的使用
  11. 伪元素选择器使用场景-字体图标(CSS3)
  12. Pytorch学习笔记(7)——模型放GPU上经常报CUDA错该怎么办
  13. 网课题库收录API接口以及免费网课查询API接口
  14. Bean with name ‘‘ has been injected into other beans [] in its raw version as part of a circular ref
  15. 四款软件,提高团队工作效率
  16. 笔记本计算机无线开关在哪里,笔记本的WIFI开关在哪里 笔记本WIFI打开方法
  17. 当前对计算机专业人才的要求,关于计算机专业人才需求的分析
  18. imx8mq-evk快速启动-方案讨论,准备工作
  19. 【图片新闻】五角大楼的国防创新部DIU正在规划建设一个未来机器人空间站
  20. 开发微领地小蜜系统APP平台

热门文章

  1. [BZOJ3993] [SDOI2015]星际战争(最大流+二分)
  2. linux博通bcm4313无线网卡,在Deepin 15.7系统中解决BCM4313无线网卡网速慢的问题
  3. 如何成为一个优秀的测试工程师
  4. 浏览器ocx控件安装 IE浏览器可用
  5. 读后感—肿瘤基因检测行业会好吗
  6. 分布式架构中的八大谬误
  7. c语言求数组中绝对值最小值,整数数组中两两之差绝对值最小的值
  8. Google Play要求app从2019年8月1日起支持64位CPU
  9. 数据库连接串的问题。(如果是集群数据库的话)
  10. HTML5系列(2)history