- 21, Oct 2024
- #1
Помещение
Недавно я пришел на встречу примерно на полчаса раньше и решил подождать снаружи. Я также решил, что это будет выглядеть странно, если я просто неподвижно буду стоять перед домом. Поэтому я решил пойти на небольшую прогулку по ограниченной территории. Я также пришел к выводу, что если бы я начал ходить кругами, было бы очевидно, что я слоняюсь. Поэтому я был вдохновлен на создание своего первого испытания Code Golf.
Спецификация
Вам будет предоставлен список, карта местности, которая будет содержать либо
or[[" ", "#", " ", "v", "<"], [" ", "#", " ", "v", "^"], ["v", "#", " ", "$", "^"], [">", ">", "v", ">", "^"], [" ", "#", "v", "^", "<"], [" ", "#", ">", ">", "^"]]
17
, которые представляют собой какие-то свободные пространства и препятствия. Свободное пространство можно пересечь только один раз, и на его прохождение уходит 1 минута. Ваше исходное положение будет обозначено значком [[" ", "#", " ", " ", " "],
[" ", "#", " ", " ", " "],
["@", "#", " ", "$", " "],
[" ", " ", " ", " ", " "],
[" ", "#", " ", " ", " "],
[" ", "#", " ", " ", " "]]
per roguelike tradition, and the target will be represented with a [[" ", "#", " ", " ", " "],
[" ", "#", ">", "v", " "],
["v", "#", "^", "$", " "],
[">", ">", "^", " ", " "],
[" ", "#", " ", " ", " "],
[" ", "#", " ", " ", " "]]
потому что это то, что вы потеряете там. Вам также будет дано целое число, которое будет обозначать, сколько минут вам придется потратить впустую, прежде чем не покажется, что вы вторгаетесь. Когда вы приземлитесь на 7
, it will have to have been the exact amount minutes (so if you were counting down, it will have to be 1 on an adjacent tile, and be 0 on the tile). It will always be possible to reach the destination. Your program or function will have to return a list showing the shortest path with <, >, ^, and v to represent the four possible directions.
Примеры
Вход:
[[" ", "#", " ", " ", " "],
[" ", "#", " ", " ", " "],
["@", "#", " ", "$", " "],
[" ", " ", " ", " ", " "],
[" ", "#", " ", " ", " "],
[" ", "#", " ", " ", " "]]
и
[[">", ">", ">", "v"],
["^", " ", " ", "$"],
[" ", " ", " ", " "],
[" ", " ", " ", " "]]
Выход:
5
Вход:
[[" ", " ", " ", " "],
["@", " ", " ", "$"],
[" ", " ", " ", " "],
[" ", " ", " ", " "]]
и
"$"
Выход:
"$"
Вход:
"@"
и
"#"
Выход:
" "
Правила
- Применяются стандартные лазейки
- Каждую плитку можно перемещать только один раз.
- Точное количество времени необходимо провести за доской.
- В случае нескольких путей должен отображаться только один путь.
- Это кодовый вопрос для игры в гольф, поэтому побеждает самый короткий ответ.
- Согласно вопросу пользователя202729 в комментариях, вы можете предположить правильный ввод.
Добавьте комментарий, если требуются дополнительные разъяснения
#код-гольф #поиск пути