На
ищем клад — 1
мы находимся на острове, на котором закопан клад. мы находимся в точке с координатами (0, 0) и смотрим на север. нам известно, где закопан клад, но этого мало: остров полон опасностей, и нужно перемещаться строго по указаниям карты, которая, к счастью, тоже имеется в нашем распоряжении. мы хотим найти клад как можно скорее.
известны координаты клада и указания, которым нужно следовать, чтобы его найти. каждое указание карты состоит из одного слова и, возможно, одного натурального числа. слово — одно из набора: «вперёд», «налево», «направо», «разворот» или «стоп».
после слова «вперёд» следует количество шагов, которое следует пройти в том направлении, куда мы в данный момент смотрим. слова «налево» или «направо» означают, что нужно изменить направление взгляда под прямым углом, «разворот» — что прямо на обратное. команда «стоп» означает остановку.
найдите минимальное количество указаний карты, которое нужно выполнить, чтобы прийти к кладу.
формат ввода
сначала вводятся два числа на отдельных строчках: координаты клада по оси икс (запад-восток) и игрек (юг-север).
затем следует некоторое количество указаний карты. каждое указание карты состоит из одного слова и, возможно, одного натурального числа на отдельной строке. слово — одно из набора: «вперёд», «налево», «направо», «разворот» или «стоп».
формат вывода
программа выводит на отдельных строках минимальное количество указаний карты, которое нужно выполнить, чтобы прийти к кладу, и направление взгляда в этот момент (одно из: «север», «юг», «запад», «восток»). гарантируется, что карта приводит к кладу.
пример 1
ввод вывод
-2
9
вперёд
9
налево
вперёд
2
разворот
вперёд
17
стоп
3
запад
1. Считываем координаты клада по осям X и Y:
-2
9
2. Обозначим начальное направление взгляда как "север". Так как мы начинаем смотреть на север, у нас противоположное направление - "юг".
3. Переходим к выполнению указаний карты:
- Вперед 9:
Двигаемся на 9 шагов вперед по текущему направлению взгляда ("север"). Поэтому наши новые координаты - (0, 9).
- Налево:
Поворачиваем влево на 90 градусов от текущего направления взгляда. Мы смотрим на север, поэтому новое направление - "запад".
- Вперед 2:
Двигаемся на 2 шага вперед по текущему направлению взгляда ("запад"). Новые координаты - (-2, 9).
- Разворот:
Поворачиваемся на 180 градусов от текущего направления взгляда. Мы смотрим на запад, поэтому новое направление - "восток".
- Вперед 17:
Двигаемся на 17 шагов вперед по текущему направлению взгляда ("восток"). Новые координаты - (15, 9).
- Стоп:
Останавливаемся.
4. Мы достигли клада с помощью минимального количества указаний карты, которое составило 3 шага. Наше последнее направление взгляда - "восток".
Таким образом, минимальное количество указаний карты, которое нужно выполнить для прихода к кладу, составляет 3 шага, и наше направление взгляда в этот момент - "восток".