У меня есть 2D-матрица, представленная как вектор значений, индекс, представляющий первую ячейку, и пару координат, представляющих вторую ячейку.Расстояние между двумя ячейками в 2D-матрице
vector<double> matrix;
auto index = 10;
auto x1 = index % width;
auto y1 = index/width;
auto x2 = ...
auto y2 = ...
мне нужно найти расстояние между этими двумя ячейками, где расстояние равно 1 для первого «кольца» из 8 соседних ячеек, 2 для второго кольца, и так далее.
Есть ли способ быстрее, чем евклидово расстояние?