Вызов
Обойдя Маркса и Спенсера, я заметил, что у них случайно установлены кондиционеры вокруг магазина. Желая сохранять прохладу, я задавался вопросом, какой самый простой способ передвигаться по всему магазину, не оставаясь слишком долго от кондиционера.
Имея карту, вы должны найти способ путешествовать по всей карте, чтобы расстояние от кондиционера было как можно короче (даже если блок переменного тока находится на другой стороне стены).
карта
Карта может быть предоставлена любым удобным вам способом и использует следующие символы:
+ is a corner of a wall
| is a east/west facing wall
- is a north/south facing wall
X is an air conditioning unit
S is the start and end point
Пример карты будет:
+------S---+
| X |
| ---+-+ X |
| |X| |
| ---+ +---+
| X |
+----------+
или же
+---+--+
| X | |
| | +-----+------+
| | X | X |
| ---+ | S
| | | X | |
| | +-+-------+--+
| X |
+------+
Путешествие по всей карте означает прохождение через каждое пустое пространство и кондиционер. Вы не можете путешествовать через стену и можете двигаться только ортогонально. Карта не всегда может быть прямоугольной.
Сохранение максимально короткого расстояния от блока переменного тока является суммой за все временные шаги.
Проходить через означает входить и выходить.
Вы можете вывести путь любым удобным для вас способом. Примеры включают в себя:
- Вывод карты с включенным путем
- Вывод пути в виде последовательности точек компаса (например
NNSESW
)
источник
Ответы:
PowerShell для Windows,
376367 байтКак ленивый человек, я не иду на каждую полку, я перехожу от кондиционера к кондиционеру в магазине. Я считаю, что я путешествовал по всему магазину, посещая каждый кондиционер в нем.
Попробуйте онлайн!
раскатали:
источник