Загрузка [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

printРабочее место участника

printЗадачи

1854. Расстояния в Плоском мире

Ограничения: время – 1s/2s, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0) idea

23057.png
Плоский мир имеет форму диска. Существует только одна дорога, ведущая с севера на юг диска. Эта дорога проходит через центр диска и её называют Осевой. Остальные дороги проложены с запада на восток или с востока на запад от городов Плоского мира до Осевой дороги. Если два города не расположены на одном отрезке дороги, ведущем до Осевой дороги, то, чтобы добраться из одного города в другой, путешественникам нужно сначала дойти до Осевой дороги, затем дойти до дороги, ведущей в нужный город, и затем по ней дойти до города.
Установим систему координат следующим образом. Центр диска имеет координаты (0,0). Ось Y совпадает с Осевой дорогой. Пусть один город имеет координаты (X1, Y1), а другой город – координаты (X_2,\ Y_2). Тогда расстояние между городами, у которых Y_1\ ≠\ Y_2, вычисляется по формуле |X_1|\ +\ |X_2|\ +\ |Y_1-Y_2|, а расстояние между городами, у которых Y_1\ =\ Y_2, вычисляется по формуле |X_1\ -\ X_2|, где |a| означает абсолютное значение (модуль) числа a.
Напишите программу, определяющую расстояние, которое нужно пройти по дорогам, чтобы попасть из города с координатами (X_1,\ Y_1) в город с координатами (X_2,\ Y_2).
Формат ввода
Первая строка ввода содержит четыре целых числа X_1, Y_1, X_2, Y_2 (0\ ≤\ X_1^2+Y_1^2\ ≤\ 10^8, 0\ ≤\ X_2^2+Y_2^2\ ≤\ 10^8) – координаты двух городов.
Формат вывода
В первой строке вывести одно целое число – расстояние между городами по дорогам.

Пример ввода

10 15 -10 -5

Пример вывода

40
loading