Ненужная и запутанная история
Я гуляю по Манхэттену, блок за блоком, и мои ноги устали и хочу вернуться домой.
Движение довольно плохое, но, к счастью, я очень богат, и у меня есть вертолет в режиме ожидания в отеле. Но мне нужно, чтобы они знали, сколько топлива нужно собрать для полета, и для этого им нужно знать мое прямое расстояние от отеля. Я помню, по каким кварталам я ходил, и могу сказать им, по какому маршруту я пошел Это расстояние должно быть точным, хотя, если они слишком короткие, мы не вернемся слишком долго, и я купил топливо, которое не смогу использовать.
Можете ли вы написать мне программу, чтобы преобразовать это в расстояние, которое им придется путешествовать во время полета, чтобы забрать меня?
Спецификация:
Напишите мне функцию, которая:
- Принимает список или строку блоков, пройденных относительно произвольной сетки:
- У р, Д собственное, л EFT и R РАВ.
- Может быть в верхнем или нижнем регистре - например. если его короче использовать
u
вместо того, чтобыU
идти вперед. - Недопустимое направление имеет неопределенное поведение - например, направление X может вызвать сбой.
- Возвращает число с плавающей запятой / десятичное число / двойное число, которое в два раза больше расстояния по прямой линии от точки происхождения.
Для иллюстрации и пояснения:
Моя поездка могла быть записана так же легко, как "luluu..."
и, ['l','u','l'...]
но она должна быть записана как Вверх, Вниз, Влево, Вправо.