Разбор
У фермера Джона имеются следующие варианты передвижения навоза:
Напрямую от до , будет пройдено расстояние ;
Везти на тракторе от до , телепортировать от до , и снова везти на тракторе от до . Суммарно трактором будет пройдено расстояние ;
Везти на тракторе от до , телепортировать от до , и снова везти на тракторе от до . Суммарно трактором будет пройдено расстояние ;
Наименьшее из этих трех значений и будет ответом.
Пример
В приведенном примере лучшая стратегия — переместить навоз из позиции в позицию , телепортировать его в позицию , а затем переместить в позицию . Общее расстояние, которое проедет трактор, составит .
Реализация алгоритма
Читаем входные данные.
scanf("%d %d %d %d", &a, &b, &x, &y);
Вычисляем ответ — минимум среди трех значений.
res = abs(a - b); res = min(res, abs(a - x) + abs(b - y)); res = min(res, abs(a - y) + abs(b - x));
Выводим ответ.
printf("%d\n", res);
Python реализация
Читаем входные данные.
a, b, x, y = map(int, input().split())
Вычисляем ответ — минимум среди трех значений.
res = abs(a - b) res = min(res, abs(a - x) + abs(b - y)) res = min(res, abs(a - y) + abs(b - x))
Выводим ответ.
print(res)