首页 > 编程语言 >2024华为OD机试真题- 找出作弊的人-(C++/Python)-C卷D卷-100分

2024华为OD机试真题- 找出作弊的人-(C++/Python)-C卷D卷-100分

时间:2024-06-22 20:32:24浏览次数:3  
标签:p1 真题 Python OD 员工 升序 pair ID 分差

 2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++) 

题目描述

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

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

过滤的规则为:

  • 找到分差最小的员工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++) {

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

相关文章

  • 软考高级论文真题“论湖仓一体架构及其应用”
    论文真题随着5G、大数据、人工智能、物联网等技术的不断成熟,各行各业的业务场景日益复杂,企业数据呈现出大规模、多样性的特点,特别是非结构化数据呈现出爆发式增长趋势。在这一背景下,企业数据管理不再局限于传统的结构化OLTP(On-LineTransactionProcessing)数据交易过程,而......
  • python-opencv批量处理图像文件(附代码)
        这里以cifar100数据集为例。cifar100数据集保存在train文件夹中,其中一共有100类图片,每类图片被保存在不同的子文件夹中,每类图片500张,其具体文件夹如下。    首先要引入cv2和os库,接着还要提前设置好图像保存路径和原图像文件路径。如果这里设置的不对的话......
  • python socket写客户端
    客户端开发流程1、创建客户端套接字对象2、和服务端套接字建立连接3、发送数据4、接收数据5、关闭客户端套接字注意:客户端是指运行在用户的设备上,服务端是指运行在服务器设备上的,专门为客户端提供数据服务socket类的使用1、导入socket模块importsocket2、使用s......
  • 538个代码示例!麻省理工教授的Python程序设计+人工智能案例实践
    Python简单易学,且提供了丰富的第三方库,可以用较少的代码完成较多的工作,使开发者能够专注于如何解决问题而只花较少的时间去考虑如何编程。此外,Python还具有免费开源、跨平台、面向对象、胶水语言等优点,在系统编程、图形界面开发、科学计算、Web开发、数据分析、人工智能等方面......
  • python学习笔记-10
    面向对象编程-下1.私有化属性语法:两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。使用私有化属性的场景:1.把特定的一个属性隐藏起来,不让类的外部进行直接调用。2.不让属性的值随意改变。3.不让子类继承。classPerson():def__init__(self):......
  • 【球类识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+TensorFlow
    一、介绍球类识别系统,本系统使用Python作为主要编程语言,基于TensorFlow搭建ResNet50卷积神经网络算法模型,通过收集'美式足球','棒球','篮球','台球','保龄球','板球','足球','高尔夫球','曲棍球','冰球','橄榄球',&#......
  • 【球类识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+TensorFlow
    一、介绍球类识别系统,本系统使用Python作为主要编程语言,基于TensorFlow搭建ResNet50卷积神经网络算法模型,通过收集‘美式足球’,‘棒球’,‘篮球’,‘台球’,‘保龄球’,‘板球’,‘足球’,‘高尔夫球’,‘曲棍球’,‘冰球’,‘橄榄球’,‘羽毛球’,‘乒乓球......
  • python 快速排序
     快速排序快速排序是一种非常高效的排序算法,它的基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 以下是一个使用Python实现的快速排序的示例代码: pythond......
  • AI生成Python之语句练习题
    对应文章:Python学习记录#2、语句涉及:条件语句(if-elif-else)、循环语句(while、for)。目录练习题1.猜数字游戏2. 斐波那契数列(难)3. 九九乘法表4.列表过滤5. 字符串反转练习题1.猜数字游戏        编写一个程序,让计算机随机选择一个1到100之间的整数,......
  • Diffusion Model-DDPM
      扩散过程是一个逐渐在数据上加噪的马尔科夫链,直到最终变成一个完全的噪声。而扩散模型就是一个使用变分推断训练的参数化马尔科夫链。如上图所示。学习的是一个reverseprocess。 前提条件:1.马尔可夫性质:当前的状态只与之前一个时刻的状态有关;2.前向和反向状态服从高......