曼哈顿距离

10 分钟

在城市里走路不能穿墙,只能沿马路横着走、竖着走。这样量出的距离,就是横着的格数加竖着的格数。从 (0,0) 到 (3,4),走 3 格横的加 4 格竖的,一共 7 格,这叫曼哈顿距离。

#include <iostream>
#include <cmath>
using namespace std;
int main() {
    int dx = 3, dy = 4;
    cout << abs(dx) + abs(dy) << endl; // 输出 7
    return 0;
}

注意:算曼哈顿距离要取绝对值(abs),因为往左、往下走差是负的,但走过的路不会是负数。它一般比直线距离长。

小纸条

(0,0) 到 (3,4) 的曼哈顿距离是多少?

登录 后可看答案

曼哈顿距离 · C++ 入门 · op599 课程