Вызов
Вы дали карту другу, который выглядит примерно так:
|
/
|
/
|
\
|
\
D
Простая карта, которая начинается сверху и заканчивается снизу. К сожалению, твой друг не понимает этого. Можете ли вы расшифровать карту, чтобы он мог ее прочитать?
вход
Ввода представляет собой строку символов , состоящих из |, /, \, D, ^, Y, (пробел) и новой строки.
|говорит остаться в той же колонке.\приказывает перейти в колонку вправо и вниз 1./приказывает перейти к колонке влево и вниз 1.Dотмечает место назначения.^(если присутствует) говорит о расщеплении в пути.Y(если присутствует) говорит о воссоединении путей. Относись к этому как к|.
Ввод будет организован таким образом, чтобы он составлял своего рода путь:
|
|
\
|
^
/ \
/ |
D |
Между двумя путями всегда будет пробел, и все пути либо воссоединятся, либо достигнут последней строки ввода. На карте будет только один сплит. Нет ограничений на длину входной карты. Там никогда не будет более двух путей.
Выход
Вывод должен быть строкой направлений.
- « L » должны сообщить своему другу , чтобы двигаться L EFT и принять 1 шаг вперед.
- « R » должен сказать своему другу , чтобы переместить R IGHT и принять 1 шаг вперед.
- « F » должен сказать вашему другу, чтобы он сделал шаг вперед.
Для входного примера карты результат будет следующим:
F F L F R R R
Обратите внимание, что ваш друг начинает сверху и вниз. Дайте указания с его точки зрения. Для экземпляра «^» ваша программа должна иметь возможность выбрать путь, который ведет к месту назначения (D). Если два пути рекомбинируют, ваша программа должна выбрать самый прямой путь (тот, который имеет наибольшее количество |s), по которому нужно следовать. Направления должны быть разделены пробелами, и должны заканчиваться на D .
Примеры
вход
|
|
\
\
^
/ |
| |
\ |
\ \
\ \
\ /
Y
D
Выход
F F L L L F F F L L R F
Поскольку крайний левый путь содержит только 1 |, мы используем крайний правый путь с 3.
вход
\
|
/
|
\
|
/
D
Выход
L F R F L F R
вход
/
\
/
\
^
\ \
D \
Выход
R L R L R L
Другие детали
- Это кодовый гольф, поэтому выигрывает человек с самым коротким кодом к следующей среде, 19 августа.
- Конструктивная обратная связь приветствуется и высоко ценится.
- Частично вдохновлен картой скрытых сокровищ
- Не стесняйтесь менять название на что-то более креативное.
- Если вы найдете ошибки, которые я сделал, исправьте их.
- И конечно, веселиться.
Спасибо!
Возможно, немного поздно, но UndefinedFunction - победитель кодирования в JavaScript! Спасибо всем кто зашел. Другие записи не принимаются.
Lдля ^и два Lдля двух /? И почему вы добавили еще два Fв конец Yпримера?
L L, что я думаю, должно бытьL L L. Пример с по-Yпрежнему имеет1в конце, и, похоже, есть другие ошибки. Я читаю карту, какF F R R R F F F R R L Fбудто я правильно понимаю правила.