曼哈顿距离
约 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) 的曼哈顿距离是多少?
登录 后可看答案