首页 > 编程语言 >2024年华为OD机试真题-找出作弊的人-(C++/Java/python)-OD统一考试(C卷D卷)

2024年华为OD机试真题-找出作弊的人-(C++/Java/python)-OD统一考试(C卷D卷)

时间:2024-07-29 21:56:19浏览次数:20  
标签:p1 Java 真题 OD 员工 升序 pair ID 分差

2024华为OD机试真题目录-(B卷C卷D卷)-【C++ Java Python】  

题目描述

公司组织了一次考试,现在考试结果出来了,想看一下有没人存在作弊行为,但是员工太多了,

需要先对员工进行一次过滤,再进一步确定是否存在作弊行为。

过滤的规则为:

  • 找到分差最小的员工ID对(p1,p2)列表,要求p1<p2
  • 员工个数取值范国:O<n<100000
  • 员工ID为整数,取值范围:0<=n<=100000
  • 考试成绩为整数,取值范围:0<=score<=300

输入描述

员工的ID及考试分数

输出描述

分差最小的员工ID对(p1,p2)列表,要求p1<p2。每一行代表一个集合,每个集合内的员工ID按顺序排列,多行结果也以员工对中p1值大小升序排列(如果p1相同则p2升序)。

样例1

输入:

5

1 90

2 91

3 95

4 96

5 100

输出:

1 2

3 4

解释:

输入:第一行为员工个数n,后续的n行第一个数值为员工ID,第二个数值为员工考试分数

输出:员工1和员工2的分差为1,员工3和员工4的分差也为1,因此最终结果为

1 2

3 4

样例2

输入:

5

1 90

2 91

3 92

4 85

5 86

输出:

1 2

2 3

4 5

考点

多条件排序

解题思路

1.用pair a存每个人的工号和成绩,按pair.second进行升序排序,对相邻

的人求成绩的差值,找出最小成绩差;

2.再次遍历数组,对相邻成绩差为最小差值的员工id按升序存到pair b中;

3.最后,按b.first升序进行排序,得到最后的顺序。

代码

c++
#include <bits/stdc++.h>
using namespace std;
bool cmp(pair<int,int> a, pair<int,int> b) {
    return a.second<b.second;
}
bool cmp1(vector<int> a, vector<int> b) {
    if(a[0]!=b[0])
        return a[0]<b[0];
    else
        return a[1]<b[1];
}
int main() {
    int n;
    cin>>n;
    vector<pair<int,int>> vec;
    for(int i=0;i<n;i++) {
        int a,b;
        cin>>a>>b;
        vec.push_back

标签:p1,Java,真题,OD,员工,升序,pair,ID,分差
From: https://blog.csdn.net/dijkstra2023/article/details/140782239

相关文章

  • 【Java】韩顺平Java学习笔记 第19章 IO流
    文章目录文件概述常用的文件操作创建文件获取文件信息目录的操作和文件删除流的分类各抽象类常用子类对象FileInputStreamFileOutputStreamFileReaderFileWriter节点流和处理流概念BufferedReaderBufferedWriterBufferedInputStream&BufferedOutputStream对象流:Obje......
  • html中javascript点击事件后显示或隐藏某些元素时需要点击两次才生效的原因分析和优化
    html中javascript点击事件后显示或隐藏某些元素时需要点击两次才生效的原因分析和优化。原来的代码如下:<divclass="cardcardcol-sm-6col-md-4col-xl-2col-lg-2justify-content-centerbg-secondary-subtle"id="tools-trigger"><ahref="javascript:vo......
  • java基础知识汇总(一)
    PART1:Java基础知识概述与Java的下载安装1)Java语言概述:①Java的发展史:詹姆斯·高斯林(JamesGosling)1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位,毕业后到IBM工作,设计IBM第一代工作站NeWS系统,但不受重视。后来转至S......
  • 2024华为OD机试真题- 亲子游戏Python-C卷D卷-200分
    2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++)题目描述宝宝和妈妈参加亲子游戏,在一个二维矩阵(N*N)的格子地图上,宝宝和妈妈抽签决定各自的位置,地图上每个格子有不同的糖果数量,部分格子有障碍物。游戏规则是妈妈必须在最短的时间(每个单位时间只能走一步)到达宝宝的位置,路上......
  • Solution - Atcoder YPC2019E Odd Subrectangles
    首先对于\(0/1\)和为奇数,转化为异或为\(1\)来考虑。考虑如果已经确定了行的选取,又该如何计数。考虑对于每一列,都处理好在对应行的位置的异或值。然后记\(\operatorname{c}_0,\operatorname{c}_1\)表示列异或值为\(0/1\)的数量。知道了\(\operatorname{c}_0,\op......
  • Java 关键字、标识符、注释、常量
    关键字:被Java语言赋予特殊含义的单词,一般是使用小写字母构成。如何区分关键字?idea对关键字具有高亮的效果。但goto和const作为保留字存在。标识符:给类、接口、方法、变量等起名字时使用的字符序列起名字时的规则:1、英文大小写字母2、数字字符3、$和_起名字时的规范:1......
  • JAVA毕业设计|springboot房屋租赁系统包含文档代码讲解
     收藏点赞不迷路 关注作者有好处文末获取源码一、系统展示二、万字文档展示开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis+Vue工具:IDEA/Ecilpse、Navicat、Maven 编号:springboot008一、系统展示二、万字文档展示第5章系统详细设计5.1管理员功能模......
  • JAVA毕业设计|springboot在线宠物用品交易网站的设计与实现包含文档代码讲解
    收藏点赞不迷路 关注作者有好处文末获取源码一、系统展示二、万字文档展示开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis+Vue工具:IDEA/Ecilpse、Navicat、Maven 编号:springboot082一、系统展示二、万字文档展示第5章系统详细设计5.1管理员模块的......
  • Javaweb项目|停车场微信小程序的设计与实现+ssm【源码+论文+PPT+部署视频】
    我们提供多元化的技术项目服务,涵盖Java、PHP、Python等编程语言,以及前端开发、人工智能、大数据、单片机开发、ASP.NET、物联网等领域。我们还提供简历模板、面试题库和学习资料,帮助用户提升技术能力和就业竞争力。我们的服务内容包括:免费功能设计、任务书和开题报告撰写、......
  • Javaweb项目|springboot大学生就业招聘系统的设计与实现
    收藏点赞不迷路 关注作者有好处文末获取源码一、系统展示二、万字文档展示 基于springboot大学生就业招聘系统的设计与实现开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis+Vue工具:IDEA/Ecilpse、Navicat、Maven 编号:springboot047一、系统展示二、万......