Виклик
Ви подарували другу другу карту, яка виглядає приблизно так:
|
/
|
/
|
\
|
\
D
Проста карта, яка починається вгорі і закінчується внизу. На жаль, твій друг цього не розуміє. Чи можете ви розшифрувати карту, щоб він міг її прочитати?
Вхідні дані
Введення являє собою рядок символів , що складаються з |, /, \, D, ^, Y, (пропуск) і нового рядка.
|повідомляє залишитися в тій же колонці.\говорить про перехід до стовпця праворуч і вниз 1./говорить про перехід до стовпчика зліва та вниз 1.Dпозначає місце призначення.^(якщо є) повідомляє про розкол шляху.Y(якщо є) розповідає про повторне з'єднання шляхів. Ставтесь до цього як до|.
Вхід буде розташований таким чином, що він робить своєрідний шлях:
|
|
\
|
^
/ \
/ |
D |
Завжди буде пробіл між двома стежками, і всі шляхи або з’єднаються, або дістаються до останнього рядка вводу. Буде лише один розкол на карті. Немає обмежень щодо довжини вхідної карти. Ніколи не буде більше двох шляхів.
Вихідні дані
Вихід повинен бути рядком напрямків.
- " L " повинен сказати вашому другові перемістити L eft і зробити 1 крок вперед.
- « R » повинен сказати своєму другові , щоб перемістити R IGHT і прийняти 1 крок вперед.
- " F " повинен сказати вашому другові рухатися на 1 крок вперед.
Для карти вхідного прикладу вихід буде таким:
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ніби правильно розумію правила.