【华为机试】2023年真题B卷(python)-洞穴探险

一、题目

题目描述:

某探险队负责对地下洞穴进行探险。探险队成员在进行探险任务时,随身携带的记录器会不定期地记录自身的坐标,但在记录的间隙中也会记录其他数据。探索工作结束后,探险队需要获取到某成员在探险过程中相对于探险队总部的最远的足迹位置。
仪器记录坐标时,坐标的数据格式为(x,y),如(1,2)、(100,200),其中0<x<1000,0<y<1000。同时存在非法坐标,如(01,1)、(1,01),(0,100)属于非法坐标。设定探险队总部的坐标为(0,0),某位置相对总部的距离为:x*x+y*y。若两个座标的相对总部的距离相同,则第一次到达的坐标为最远的足迹。若记录仪中的坐标都不合法,输出总部坐标(0,0)。
备注:
不需要考虑双层括号嵌套的情况,比如sfsdfsd((1,2))。

二、输入输出

输入描述:
字符串,表示记录仪中的数据。
如:ferga13fdsf3(100,200)f2r3rfasf(300,400)
输出描述:
字符串,表示最远足迹到达的坐标。
如:(300,400)

三、示例

示例1 
输入输出示例仅供调试,后台判题数据一般不包含示例
输入:
ferg(3,10)a13fdsf3(3,4)f2r3rfasf(5,10)
输出:
(5,10)
说明
记录仪中的合法坐标有3个: (3,10), (3,4), (5,10),其中(5,10)是相距总部最远的坐标, 输出(5,10)。
示例2 

输入输出示例仅供调试,后台判题数据一般不包含示例
输入
asfefaweawfaw(01,1)fe
输出
(0,0)
说明
记录仪中的坐标都不合法,输出总部坐标(0,0)。

四、要求

时间限制:C/C++ 1秒,其他语言 2秒
空间限制:C/C++262144K,其他语言524288K
64bit IO Format:%lld

五、解题思路

  1. 首先,我们需要从输入的字符串中提取出合法的坐标数据。
  2. 对于每个合法的坐标,我们可以计算其相对于总部的距离,并记录最远距离和对应的坐标。
  3. 最后,输出记录的最远距离对应的坐标。

六、参考代码 

# -*- coding: utf-8 -*-
'''
@File    :   2023-B-洞穴探险.py
@Time    :   2023/12/15 14:24:22
@Author  :   mgc 
@Version :   1.0
@Desc    :   None
'''import redef extract_coordinates(data):pattern = r'\((\d{0,3}),(\d{0,3})\)'  # 匹配坐标的正则表达式matches = re.findall(pattern, data)  # 提取所有的坐标return [(int(x), int(y)) for x, y in matches if (not x.startswith("0") and not y.startswith("0"))]  # 过滤掉如(01,1)、(1,01)这样的非法坐标并返回def find_farthest_coordinate(data):coordinates = extract_coordinates(data)  # 提取合法的坐标max_distance = 0farthest_coordinate = (0, 0)for coordinate in coordinates:if (0<coordinate[0]<1000) and (0<coordinate[1]<1000): distance = coordinate[0] ** 2 + coordinate[1] ** 2  # 计算相对总部的距离else:continueif distance > max_distance:max_distance = distancefarthest_coordinate = coordinatereturn farthest_coordinate# 用户输入
data = input()
result = find_farthest_coordinate(data)
print(result)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/229116.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

libevent服务GET/POST的简单使用

目录 1、前言2、测试demo2.1、目录结构2.2、 测试源码2.2.1、http_server.cpp2.2.2、 http_server.h 2.3、 编译2.4、 运行结果2.4.1、测试POST2.4.2 、测试GET请求 1、前言 项目开发中经常需要使用到私有协议和Qt,Android等GUI前端通信&#xff0c;比较常用的使用POST和GET方式…

计算机操作系统-第十八天

目录 进程调度时机 补充知识 进程调度的方式 非剥夺调度方式 剥夺调度方式 进程的切换与过程 本节思维导图 进程调度时机 进程调度&#xff08;低级调度&#xff09;&#xff0c;即按照某种算法从就绪队列中选择一个进程为其分配处理机。 共有两种需要进行进程调度与…

基于junit4搭建自定义的接口自动化测试框架

随着业务的逐步稳定&#xff0c;对于接口的改动也会逐渐变少。更多的是对业务逻辑的优化&#xff0c;功能实现的完善。对于测试来说&#xff0c;重复繁琐的功能测试不仅效率低下&#xff0c;而且耗费一定的人力资源。笔者支持的信息流业务下的一个图文管理平台就是一个功能较为…

Lambda表达式的简单理解

1. 初识lambda表达式 Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。 lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块)。 Lambda 表达式&#xff08;Lambda exp…

网络基础试题选择题——附答案

选择题 OSI模型中&#xff0c;表示层的作用是&#xff1f; A) 数据链路B) 数据传输C) 数据格式转换D) 物理连接 IP地址的IPv4版本中&#xff0c;一般由几个十进制数构成&#xff1f; A) 2B) 4C) 6D) 8 在HTTP协议中&#xff0c;常用的请求方法是&#xff1f; A) GETB) POSTC) P…

微信scroll-view小程序实现上拉加载下拉刷新

在使用微信小程序时避免不了查询列表实现分页功能&#xff0c;在这里分享下使用croll-view实现上拉加载下拉刷新功能,如有不足请指出 创建commonPagination组件 wxml文件 <scroll-view class"scroll" style"{{style}}" scroll-top"{{scrollTop}}…

广州华锐互动:VR煤矿特殊工种作业实训帮助提高矿工的操作技能和安全意识

VR煤矿特殊工种作业实训系统为煤矿企业培训提供了全方位的支持&#xff0c;帮助提高矿工的操作技能和安全意识&#xff0c;促进煤矿企业的安全生产。 首先&#xff0c;VR煤矿特殊工种作业实训系统可以提供逼真的虚拟操作环境&#xff0c;使矿工能够身临其境地感受各种工种的作业…

计算机网络 网络层上 | IP数据报,IP地址,ICMP,ARP等

文章目录 1 网络层的两个层面2 网络协议IP2.1 虚拟互联网络2.2 IP地址2.2.1 固定分类编址方式2.2.2 无分类编制CIDR2.2.3 MAC地址和IP地址区别 2.3 地址解析协议ARP2.3.1 解析过程 2.4 IP数据报格式 3 IP层转发分组流程4 国际控制报文协议ICMP4.1 ICMP格式结构4.2 分类4.2.1 差…

学习MS Dynamics AX 2012编程开发 2. X++语言

X是用于构建Dynamics AX功能的编程语言。X是一种与C类似的面向对象编程语言。 完成本章后&#xff0c;您将能够理解X语言&#xff1b;您将知道可用的数据类型是什么&#xff0c;如何创建各种循环&#xff0c;如何比较和操作变量&#xff0c;在哪里可以找到预定义的函数&#x…

K8S学习指南(24)-k8s核心对象IngressController

文章目录 前言什么是Ingress Controller&#xff1f;Ingress Controller的工作原理Ingress Controller的常见实现Ingress Controller的使用示例步骤1&#xff1a;安装Nginx Ingress Controller步骤2&#xff1a;创建Ingress对象步骤3&#xff1a;应用配置步骤4&#xff1a;验证…

【Android逆向】记录一次某某虚拟机的逆向

导语 学了一段时间的XPosed&#xff0c;发现XPosed真的好强&#xff0c;只要技术强&#xff0c;什么操作都能实现... 这次主要记录一下我对这款应用的逆向思路 apk检查 使用MT管理器检查apk的加壳情况 发现是某数字的免费版本 直接使用frida-dexdump 脱下来后备用 应用分…

二叉树前,中序推后续_中,后续推前序

文章目录 介绍思路例子 介绍 二叉树是由根、左子树、右子树三部分组成。 二叉树的遍历方式又可以分为前序遍历&#xff0c;中序遍历&#xff0c;后序遍历。 前序遍历&#xff1a;根&#xff0c;左子树&#xff0c;右子树 中序遍历&#xff1a;左子树&#xff0c;根&#xff0…

菜鸟学习日记(python)——匿名函数

Python 使用 lambda 来创建匿名函数。 lambda 函数是一种小型、匿名的内联函数&#xff0c;它可以具有任意数量的参数&#xff0c;但只能有一个表达式。 匿名函数的一般格式如下&#xff1a; lambda 参数列表:表达式 表达式用于计算并返回函数结果 lambda 函数通常用于编写…

【影像组学入门百问】#25--#26

#25-影像组学中如何处理数据不平衡的问题&#xff1f; 在影像组学中&#xff0c;数据不平衡是一个常见的问题&#xff0c;即不同类别的样本数量不相等。这可能导致机器学习模型在训练过程中对较多的类别过度拟合&#xff0c;从而降低模型对较少类别的预测性能。以下是一些处理…

FreeRtos里的几个中断屏蔽

1、primask 寄存器 PRIMASK用于禁止除NMI和HardFalut外的所有异常和中断&#xff0c;使用方法&#xff1a; cpsid i &#xff1b; //设置primask &#xff08;禁止中断&#xff09; cpsie i ; //清除primask (使能中断) 也可以 movs r0,#1 msr primask r0; //将 1写入p…

QSqlQuery 是 Qt 框架中的一个类,用于执行 SQL 查询和操作数据库。

QSqlQuery 是 Qt 框架中的一个类&#xff0c;用于执行 SQL 查询和操作数据库。 该类提供了执行 SQL 语句、获取查询结果、访问和修改数据等功能。它可以与各种支持的数据库进行交互&#xff0c;如 MySQL、SQLite、Oracle 等。 使用 QSqlQuery 类&#xff0c;你可以执行以下操…

C# WPF上位机开发(网络程序界面开发)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 之前我们讨论过&#xff0c;设备之间通讯的方式很多。但是&#xff0c;不知道大家有没有注意&#xff0c;前面谈到的这些通讯方式都需要上位机电脑…

华为云创新动能涌现,浒墅关开启先进制造新纪元

编辑&#xff1a;阿冒 设计&#xff1a;沐由 穿境而过的京杭大运河&#xff0c;孕育了苏州浒墅关深厚的历史文化底蕴。千年延续不断的繁华&#xff0c;滋养了一代又一代奋进的浒墅关人。今天&#xff0c;一座国家级经开区挺立在这里&#xff0c;散发出创新创业的蓬勃活力。 苏州…

WordPress如何搭建多站点

这边之前有讲到过wordpress站中站&#xff08;栏目站&#xff09;建站教程&#xff0c;同样的也有讲到过WordPress开启多站点配置&#xff0c;两种方法都是用来搭建子站点的&#xff0c;而开启多站点的方式不同于普通搭建站中站&#xff0c;多站点配置开启&#xff0c;是可以实…

STM32F407-14.3.18-01连接霍尔传感器

连接霍尔传感器 可通过用于生成电机驱动 PWM 信号的高级控制定时器&#xff08;TIM1 或 TIM8&#xff09;以及图 114 中称为 “接口定时器”的另一个定时器 TIMx&#xff08;TIM2、TIM3、TIM4 或 TIM5&#xff09;&#xff0c;实现与霍尔传感器的连接。3 个定时器输入引脚&…