C++解决n点最小曼哈顿距离

作者制作不易,关注、点赞、收藏一下吧!

1.曼巴顿距离

‌曼哈顿距离是由十九世纪的‌赫尔曼·闵可夫斯基所创词汇‌,用于标明两个点在标准坐标系上的绝对轴距总和。

2.代码实现

2.1.导入头文件、命名空间

这个没有什么好说的,不过绝对值需要用cmath头文件。

#include <iostream> // 导入头文件、命名空间
#include <cmath>
using namespace std;

2.2.创建结构体和输入

struct point // 定义结构体point
{int x;int y;
}point_list[1001]; // 创建结构体列表point_listint point_number; // 输入点的个数
cin >> point_number;
for(int i = 0; i <= point_number - 1; i++) // 输入每个点的x、y轴
{cin >> point_list[i].x >> point_list[i].y;
}

有关结构体的内容可以看结构体这篇文章。

2.3.枚举

// 开始枚举
for(int i = 0; i <= point_number - 1; i++)
{for(int j = i + 1; j <= point_number - 1; j++){int point_distance = abs(point_list[i].x -  point_list[j].x) + abs(point_list[i].y - point_list[j].y);			if (point_distance < min_distance)			{min_distance = point_distance;}}
}

2.4.输出结果

cout << min_distance;

2.5.完整代码

#include <iostream> // 导入头文件、命名空间
#include <cmath>
using namespace std;struct point // 定义结构体point
{int x;int y;
}point_list[1001]; // 创建结构体列表point_listint main() // 主函数
{int point_number; // 输入点的个数cin >> point_number;for(int i = 0; i <= point_number - 1; i++) // 输入每个点的x、y轴{cin >> point_list[i].x >> point_list[i].y;}int min_distance = 1e9; // 初始化最小值// 开始枚举for(int i = 0; i <= point_number - 1; i++){for(int j = i + 1; j <= point_number - 1; j++){int point_distance = abs(point_list[i].x -  point_list[j].x) + abs(point_list[i].y - point_list[j].y);if (point_distance < min_distance){min_distance = point_distance;}}}cout << min_distance;return 0; // 结束程序
}

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

图的应用(拓扑排序)

自己设计一个不少于6个结点的带权有向无环图&#xff0c;并画出其邻接矩阵的样子 用一维数组将你设计的有向无环图的邻接矩阵进行压缩存储 文字描述&#xff1a;基于你压缩存储的数组&#xff0c;如何判断结点 i、j 之间是否有边&#xff1f; 基于你设计的带权有向无环图&#…

flash_attention简要笔记

优化效果 原来&#xff0c;attention部分的计算量和中间激活占用显存的复杂度都是 O ( N 2 ) O(N^2) O(N2) 计算量部分原来QK矩阵乘和attn_scoreV矩阵乘的计算量&#xff0c;复杂度都是 O ( N 2 ) O(N^2) O(N2)&#xff1b;中间激活因为中间有一个attn_score&#xff0c;所以复…

基于yolov8的战斗机类型识别检测系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 YOLOv8是Ultralytics公司推出的最新一代对象检测模型&#xff0c;它在目标检测领域展现了前所未有的先进性能。基于YOLOv8的战斗机类型识别检测系统&#xff0c;通过结合深度学习技术和卷积神经网络&#xff08;CNN&#xff09;&#xff0c;实现了对战斗机图像的…

八股文-多线程、并发

八股文-多线程、并发 最近学到了一种方法&#xff0c;可以用于简历项目经验编写以及面试题目的回答 STAR法则&#xff1a;在什么背景下&#xff0c;你需要解决什么问题&#xff0c;你做了啥&#xff0c;得到了什么结果 情境&#xff08;Situation&#xff09;&#xff1a; 描…

软件测试分类篇(上)

目录 引言&#xff1a; 一、为什么要对软件测试进行分类 二、按照测试目标分类 1. 界面测试 2. 功能测试 3. 性能测试 4. 可靠性测试 5. 安全性测试 6. 易用性测试 三、按照执行方式分类 1. 静态测试 2. 动态测试 四、按照测试方法分类 1. 白盒测试 2. 黑盒测试 …

HTTP 教程

HTTP/HTTPS 简介 HTTP&#xff08;Hypertext Transfer Protocol&#xff0c;超文本传输协议&#xff09;和 HTTPS&#xff08;Hypertext Transfer Protocol Secure&#xff0c;超文本传输安全协议&#xff09;是用于在网络中传输信息的两种主要协议。它们定义了客户端和服务器…

10.1 溪降技术:通讯

目录 10.1 通讯概述观看视频课程电子书&#xff1a;通讯视觉信号想象一下…… 声音信号总结 10.1 通讯 概述 两名队友讨论下一个跳点 溪降是一项团队活动&#xff0c;需要团队成员之间良好的沟通。由于溪降所处的环境特性&#xff0c;往往使得声音通讯变得困难。环境可能非常嘈…

自动化测试常用函数

目录 一、元素的定位 1、cssSelector 2、xpath &#xff08;1&#xff09;xpath 语法 1、获取HTML页面所有的节点 2、获取HTML页面指定的节点 3、获取一个节点中的直接子节点 4、获取一个节点的父节点 5、实现节点属性的匹配 6、使用指定索引的方式获取对应的节点内容…

欧美海外仓系统有哪些服务商选择?

在跨境电商的全球化浪潮中&#xff0c;欧美市场以其成熟的电商生态和庞大的消费群体&#xff0c;成为了众多跨境卖家竞相争夺的高地。为了提升物流效率、降低成本并增强客户体验&#xff0c;海外仓成为了不可或缺的一环。而海外仓系统的选择&#xff0c;则直接关系到仓库的运营…

排序-----选择排序

首先介绍几种排序的分类&#xff1a; 选择排序是每次都遍历&#xff0c;标记出最小的元素&#xff0c;然后把它放在前面。 本文介绍优化后的版本&#xff1a;每次遍历标记出最小的和最大的元素&#xff0c;分别放到前面和后面。&#xff08;注意这里是找到对应的下标&#xff0…

数据结构与算法——Java实现 6.递归

要学会试着安静下来 —— 24.9.17 一、递归的定义 计算机科学中&#xff0c;递归是一种解决计算问题的方法&#xff0c;其中解决方案取决于同一类问题的更小子集 说明: ① 自己调用自己&#xff0c;如果说每个函数对应着一种解决方案&#xff0c;自己调用自己意味着解决方案是…

2024/9/20 使用QT实现扫雷游戏

有三种难度初级6x6 中级10x10 高级16x16 完成游戏 游戏失败后&#xff0c;无法再次完成游戏&#xff0c;只能重新开始一局 对Qpushbutton进行重写 mybutton.h #ifndef MYBUTTON_H #define MYBUTTON_H #include <QObject> #include <QWidget> #include <QPus…

jdk版本更换以及遇到的问题略谈(以jdk1.8和jdk11为例)

目录 在我看来 遇到的问题 原因以及解决方法 方法一&#xff1a;禁止误改误删 方法二&#xff1a;bat文件驱动运行 方法三&#xff1a;cmd命令 方法四&#xff1a;修改注册表&#xff08;不推荐&#xff09; 最近在进行漏洞复现&#xff08;shiro550&#xff09;的时候&…

DAY20信息打点-红蓝队自动化项目资产侦察武器库部署企查产权网络空间

2.自动化-网络空间-AsamF 1.去GitHub上下载项目之后使用CMD打开 2.输入命令AsamF_windows_amd64.exe -v生成配置文件 3.AsamF会在~/.config/asamf/目录下生成config.json文件 C:\Users\Acer\.config\asamf 5.根据文档输入命令去查询所需信息&#xff08;已经没有用了&#x…

jeecg自定义sql查询,并使用高级查询的参数

jeecg框架的高级查询界面如下 后台代码&#xff1a; controller层&#xff1a; GetMapping(value "/list")public Result<IPage<Receiver>> queryPageList(Receiver receiver,RequestParam(name"pageNo", defaultValue"1") Integ…

进程和线程问题解答

线程和进程的概念、区别 进程是操作系统进行资源分配的基本单位&#xff0c;拥有独立的地址空间&#xff0c;包括代码、数据、堆、栈等。进程间的切换开销较大。 线程是进程中的一个执行单元&#xff0c;是系统中最小的执行单位&#xff0c;共享进程的资源&#xff0c;如代码…

Python类及元类的创建流程

Python类及元类的创建流程 代码运行结果再看type和object的关系和约定type和object具有的方法不一样看代码和运行结果&#xff0c;可以完全理解python的执行过程。再补充几点&#xff0c; 代码 class MetaCls(type):print(0>>>, MetaCls, 0)def __init__(self, name,…

基于微型5G网关的酒店服务机器人应用

智能机器人在酒店中已经越来越常见&#xff0c;并且也是提升客户体验、提高服务效率的重要工具。然而&#xff0c;尽管这些机器人在自动化服务方面可以发挥着重要作用&#xff0c;但它们仍然面临着一些通信、组网和在线管理方面的痛点。 针对这些难题&#xff0c;可以通过部署微…

Python边界值测试工具:生成指定大小文件

在进行软件测试的过程中&#xff0c;经常会有文件上传功能的需求&#xff08;例如头像上传、商品图上传等&#xff09;&#xff0c;这时候就需要考虑文件大小的边界值&#xff0c;例如只可上传1-2MB的图片&#xff0c;5-10MB的文件&#xff0c;想要验证需求的话&#xff0c;就需…

CVPT: Cross-Attention help Visual Prompt Tuning adapt visual task

论文汇总 当前的问题 图1:在VTAB-1k基准测试上&#xff0c;使用预训练的ViT-B/16模型&#xff0c;VPT和我们的CVPT之间的性能和Flops比较。我们将提示的数量分别设置为1、10、20、50,100,150,200。 如图1所示&#xff0c;当给出大量提示时&#xff0c;VPT显示了性能的显著下降…