Top.Mail.Ru
Ответы

Решение задачи на языке python

Такая задачка:


Дан лист бумаги W × H. Необходимо вычислить кратчайший путь между клетками с координатами X0, Y0 и X1, Y1. При движении из клетки (X0, Y0) можно двигаться в одну из четырёх соседних по стороне клеток. Обе пары противоположных сторон листа склеены в клетчатый "бублик" (тор) таким образом, что за один шаг из клеток с координатами (W, y), 1 ≤ y ≤ H, можно попасть в клетки с координатами (1, y) (и наоборот), а из клеток с координатами (x, 1), 1 ≤ x ≤ W - - в клетки с координатами (x, H) (и наоборот).


ВВОД:


В первой строке вводятся 6 чисел: W, H, X0, Y0, X1, Y1. (1 ≤ W, H ≤ 109; 1 ≤ X0, X1 ≤ W; 1 ≤ Y0, Y1 ≤ H).


ВЫВОД:


В первой строке вывести целое число — кратчайший путь между двумя клетками.

ПРИМЕР:


7 6 3 2 4 3 ------> 2

По дате
По рейтингу
Аватар пользователя
Просветленный

Сложи минимальное расстояние по горизонтали и по вертикали (с проходом через границу и по прямой)
Вот и вся задача.

W, H, X0, Y0, X1, Y1 = map(int, input().split())
print(min(abs(X0 - X1), W - abs(X0 - X1)) + min(abs(Y0 - Y1), H - abs(Y0 - Y1)))