【C++】二维曼哈顿距离(Manhattan)
创作时间:
作者:
@小白创作中心
【C++】二维曼哈顿距离(Manhattan)
引用
CSDN
1.
https://m.blog.csdn.net/Yinrtyu_/article/details/145971326
C++中曼哈顿距离的用法、图片和代码示例详细介绍如下:
二维曼哈顿距离的用法
曼哈顿距离,又称为城市街区距离,用于计算两个点在标准坐标系上的绝对轴距总和。其公式为:
二维曼哈顿距离=∣x1−x2∣+∣y1−y2∣
曼哈顿距离常用于网格状布局的路径计算、图像处理等领域。
图片示例
描述一个常见的曼哈顿距离应用场景:
想象一个城市的街道布局,街道呈网格状,你只能沿着水平或垂直的街道行走。从一点A到另一点B的最短路径长度,就是这两点之间的曼哈顿距离。
在想象一下棋盘上的格子:
曼哈顿距离,也正是这个原理,不能像 绿线(/)一样,横穿建筑,而是需要和其它三条线一样, 穿过大街小巷。
代码示例
以下是一个使用C++计算两个点之间曼哈顿距离的代码示例:
#include <iostream>
#include <cmath> // abs()
int main() {
int x1, y1, x2, y2;
std::cout << "请输入两个点的坐标 (x1, y1) 和 (x2, y2): ";
std::cin >> x1 >> y1 >> x2 >> y2;
int manhattanDistance = std::abs(x1 - x2) + std::abs(y1 - y2);
std::cout << "两点之间的曼哈顿距离是: " << manhattanDistance << std::endl;
return 0;
}
详细说明
- 输入部分:
- 程序首先提示用户输入两个点的坐标 (x1, y1) 和 (x2, y2)。
- 使用 std::cin 从标准输入读取这四个整数。
- 计算部分:
- 使用 std::abs() 函数计算两个点之间横坐标和纵坐标的差的绝对值。
- 将这两个绝对值相加,得到曼哈顿距离。
- 输出部分:
- 使用 std::cout 输出计算得到的曼哈顿距离。
注意事项
- 在实际编程中,确保输入的数据在有效范围内,以避免潜在的越界或错误计算。
- 曼哈顿距离的计算相对简单,但它在路径规划、图像处理等领域有着广泛的应用。
热门推荐
家用净水器滤芯要怎么保养,净水效果更好?
练完肌肉不酸痛,我是不是白练了 ?
电视剧里用嘴为同伴吸蛇毒可行吗?央视科普:很危险
芜湖城南巨变,基础设施大升级!
美洲杯卫冕 阿根廷队连夺三大赛冠军
掌握提示技巧:获取最佳人工智能响应的详细指南
如何给小狗正确使用阿莫西林(宠物用药注意事项及剂量规定)
事业编制考试科目的主要内容解析与核心课程
金秋时节“丰”景正好!各地迎来丰收季
函数的概念和性质
什么是太极?我国历代对太极的探讨
去马来西亚留学到底安不安全?别再盲目!马来西亚留学安全问题全面解读!
网络工程师必读!这15个高危端口可能让你的系统瞬间沦陷
如何实现人形机器人的态势感知
无穷小量中的高阶、同阶无穷小与等价无穷小:概念与区别
使用 FRP 和 WakeOnLan 远程电脑的方法
香港城大/辽材异构团队AFM综述:异构金属结构材料的研究方法、性能及展望
绩效考核表中的评分标准是什么?
换元法求定积分
租房时如何验证房源的真实性?
绩效管理项目自评怎么写
木星是太阳系最大行星,它到底有多大?这样比较木星大小一目了然
通俗正史系列之三国志·张飞传
云南洱海自驾游攻略:三大经典路线全解析
运动后大量出汗,可以马上洗澡吗?这样做才正确
一起连环杀人案,6个凶手
交感神经兴奋的表现是什么
橡胶受哪些因素影响?如何应对这些影响因素?
如何减掉脸部脂肪
从《周易》看梦境与现实的关系