Кварталы Манхэттена состоят из авеню, направленных с юга на север и улиц, направленных с запада на восток. Все улицы и авеню пронумерованы числами, начиная с 1 подряд (первая улица, вторая улица, третья улица и т. д.). Передвигаться можно только по улицам или по авеню. Миша впервые попал на Манхэттен. Сейчас он стоит на пересечении авеню номер x1 и улицы номер y1. Ему нужно попасть на перекресток авеню номер x2 и улицы номер y2. Определите маршрут, который он должен пройти. Программа получает на вход 4 числа: x1, y1, x2, y2, записанных в отдельных строках. Все числа — натуральные, не превышают 103. Начальное и конечное расположение Миши не совпадают. Программа должна вывести последовательность из латинских заглавных букв, описывающих маршрут, которому должен следовать Миша. Буква «N» обозначает перемещение на один квартал на север, «S» — на юг, «W» — на запад, «E» — на восток. Программа должна вывести самый короткий из всех возможных маршрутов, причем, вначале движение должно быть по улицам, а затем по авеню.
Пример решения на Python:
x1 = int(input())y1 = int(input())
x2 = int(input())
y2 = int(input())
x_diff = x2 - x1
y_diff = y2 - y1
if x_diff > 0:
print('E' * x_diff, end='')
elif x_diff < 0:
print('W' * abs(x_diff), end='')
if y_diff > 0:
print('N' * y_diff)
elif y_diff < 0:
print('S' * abs(y_diff))
Пример работы программы:
Ввод:1
1
5
3
Вывод:
EEENNN