【发布时间】:2016-11-10 22:45:37
【问题描述】:
我正在尝试找到一种方法来计算两个包含 0 到 8 之间数字的二维数组之间的曼哈顿距离。假设其中一个数组(8 谜题的目标)是:
1 2 3
4 5 6
7 8 0
我了解 (x1 , y1) 和 (x2, y2) 之间, 这 曼哈顿距离 = |x1 - x2| + |y1 - y2|
我的代码如下所示:
for(x = 0; x < 3; x++){
for(y = 0; y < 3; y++){
int value = matrix[x][y];
int targX; //Target X coordinate
int targY; //Target Y coordinate
int distX = abs(x - targX);
int distY = abs(y - targY);
mDist = mDist + distX + distY;
}
}
我无法找到获取任何特定值的目标坐标的方法。
【问题讨论】: