Королю Джуліану потрібно пройти через джунглі, але він відчуває себе лінивим. Він хоче, щоб комп'ютер міг обчислити маршрут через джунглі.
Використовуючи STDIN, отримайте карту джунглів, щоб комп'ютер зламався. Він матиме такий формат:
01001E
010110
000P00
1100J1
S00111
Як працює карта джунглів:
0 ґрунт, по якому Джуліан може рухатись.
1 це щільні непрохідні джунглі.
P це територія з хижаками в ній, якої потрібно уникати будь-якою ціною.
Jвідносно густі джунглі. Прислужники Джуліана можуть пробити один із них перед тим, як втомити.
Sсаме там починається Джуліан. Це може бути де завгодно на карті.
Eде Юліан хоче поїхати; кінець шляху. Вона також може бути де завгодно на карті, як і будь-яка інша плитка.
Кожен символ є плиткою на карті. Розриви рядків означають новий ряд плиток. Якщо STDIN на вашій мові не підтримує розривів рядків, розрив рядка повинен бути замінений пробілом для позначення нового рядка.
Для переміщення між плитками необхідно вивести рядок за допомогою STDOUT, що містить такі спеціальні символи:
F - Вперед
B - Відсталий
L - Обертати Джуліана ліворуч (на 90 градусів проти годинникової стрілки)
R - Поворот Джуліана праворуч (на 90 градусів за годинниковою стрілкою)
M- Міньйони знищують Jплитку 1 плитку вперед від Джуліана, якщо вона є (M просто очищає плитку, вам все одно доведеться рухатися на ній)
Можливим результатом буде:
RFFLFRFMFLFRFLFF
Що вирішує карту вище.
Примітки:
Якщо ваша програма видає рішення, яке вражає хижаків, гра закінчиться.
Якщо ви потрапили в непрохідні джунглі, ви просто відскакуєте туди, де ви були, перш ніж ви наткнулися на щільні джунглі, обличчям так само. (Назустріч джунглям)
Джуліан починає дивитися вгору. (^ Таким чином ^)
Вихід не повинен бути найшвидшим рішенням,
FFFіFBFBFBFBFBFFFвони однакові. Однак виведення найшвидшого можливого рішення дає бонус -10% на кількість байтів.Якщо карта недійсна, STDOUT "Недійсна карта." (Це включає, якщо карта нерозв’язна)
На карті не може бути рядків або стовпців різної довжини; що робить його недійсним.
Ваша відповідь має дещо відповідати такому формату:
#Language name, *n* bytes
code
Explanation (optional)
Це код-гольф , тому виграє найкоротший код у байтах.
Pдійсно плитка додає щось відмінне від 1плитки? Я не можу реально уявити правдоподібне рішення, яке стосується їх по-різному.