【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 输出计算得到的曼哈顿距离。
注意事项
- 在实际编程中,确保输入的数据在有效范围内,以避免潜在的越界或错误计算。
- 曼哈顿距离的计算相对简单,但它在路径规划、图像处理等领域有着广泛的应用。
热门推荐
斯瓦尔巴群岛:挪威北极之旅
种植大白菜对环境有什么要求?
供应链优化策略:降低成本,提升效率,打造竞争优势
病毒性脑膜炎出院食疗方法
风光过后“破产”的明星现状,摆摊卖饼,烧炭自尽,多位惨淡收场
生产质量管理如何做好?8年生产主管告诉你这七点!
引入纳米孔洞!我国科学家实现新成果
聚丙烯(PP)材料的特性与应用全解析,生活中的隐形英雄
数据资产化过程中的合规审查与登记实施
小白龙值得养吗笔绘西行——深度解析游戏角色魅力
土壤—植物营养—人体健康的关系
如何善用时间 提升生活品质与健康?
睡前泡个脚,身体居然会发生神奇的变化
留学生学历认证新规出炉,速看!
USB-C至4K DisplayPort连接指南:打造无缝高清体验
火遍全网的“抗炎饮食”,真的有这么神奇吗?
企业融资融券:为企业发展提供资金支持与灵活运用的一种金融工具
佛珠禁忌该注意哪些?10大禁忌、正确戴法及材质意义全解析
项目管理培训价格怎么算
个人开发者如何推广自己的软件APP?
炸串项目怎么管理
GABA是什么?一次了解GABA的功效与副作用
超级英雄融合成长故事——《超异能族》
一年减碳117万吨,上海新一轮垃圾分类满五年:因为认同所以坚持
足太阴脾经三大穴位详解:阴陵泉、血海、大包的功能与应用
高血脂的"对症下药",临床治疗与全程管理的结合之道
从财务转产品经理:十大关键步骤全解析
国际贸易中FCA术语解析:含义与使用方法
结婚日期看阴历还是阳历?两种日历的差异解析!
离婚案件中的房产分割问题及其处理方法探究