e-olymp 8643. Иннолошадь

Задача

В шахматном иннокоролевстве выводят специальные породы инноконей. Порода инноконя задается парой чисел $(x, y), 0 ≤ x ≤ y$. Инноконь перемещается следующим образом: сначала перемещается на $x$ клеток в одну из четырех сторон, затем поворачивает на 90 градусов влево или вправо и перемещается еще на $y$ клеток. Например, обычный шахматный конь — это инноконь породы (1, 2).

Петя и Вася недавно видели инноконя, он прыгнул с поля $A$ на поле $B$. Пете и Васе стало интересно, какой породы был этот инноконь. Помогите им ответить на этот вопрос.

Входные данные

Шахматная доска состоит из 8 строк и 8 столбцов. Строки нумеруются числами от 1 до 8, а столбцы буквами от $a$ до $h$. Таким образом, каждое поле задается парой из буквы и цифры. В двух строках ввода содержатся описания полей $A$ и $B$.

Выходные данные

Выведите два целых числа $x$ и $y$, $(0 ≤ x ≤ y)$, соответствующие породе данного инноконя.

Тесты

Входные данные Выходные данные
a1 b3 1 2
g5 d3 2 3
e1 e1 0 0
d3 d7 0 4
a2 c2 0 2

Код программы

Решение

Найдем разницы пройденных расстояний по строкам и столбцам. Тогда породой данного инноконя будет пара этих чисел, размещенных по возрастанию.

e-olymp

ideone

Related Images:

5 thoughts on “e-olymp 8643. Иннолошадь

    • Да и куча if’ов лишняя — блоком последнего else можно заменить всё ветвление, разница одинаковых чисел и так будет равно нулю.

    • Кстати, вместо tmp1 и tmp2 можно сразу записывать x = abs(f1 - f2), char’ы автоматически преобразуются в ASCII-код.

    • И убери кириллицу из ссылки на задачу.

    • Да, что-то я и правда код слишком усложнила. Спасибо, исправила.

Добавить комментарий