Застряглий робот#11284

Застряглий робот

2 секунди
128 мегабайтів
Легка

Робот застряг серед уламків міжзоряного космічного корабля. Десь серед цих уламків є телепорт, який може доставити робота в безпечне місце.

Космічний корабель втратив контроль по всіх осях. Найближча зірка освітлює уламки, а корабель оснащений генератором штучної гравітації. Штучна гравітація завжди відводить робота від зірки, незалежно від орієнтації корабля.

Робот має сонячні панелі і повинен використовувати сонячну енергію для переміщення серед уламків. Якщо уламки затуляють зірку, робот не може рухатися. Проте, після кожного руху робот закріплюється і не ризикує розбитися або впасти в космічну порожнечу.

Уламки та простір навколо них представлені тривимірною сіткою розміру * * . Кожен блок може бути частиною корабля або порожнім. Блоки корабля можуть бути роз'єднані.

Робот починає, прикріплений до частини корабля, і сам вирішує, коли рухатися, а коли чекати, поки зірка не освітить зручний бік.

Більш формально, гравітація може тягнути робота в одному з напрямків: напрямки вздовж кожної з осей. Клітинка освітлена зіркою, якщо немає уламків у напрямку, протилежному силі тяжіння. Перед кожним рухом робот може обирати напрямок, в якому його притягує сила тяжіння. Під час руху і початкова, і кінцева позиції повинні бути освітлені зіркою.

Дозволені такі ходи: (світло завжди падає зверху на зображеннях; синій блок (або темніший у чорно-білих версіях) представляє робота, а оранжеві блоки (або світліші) - можливі пункти призначення)

Робот не може рухатися по діагоналі. Пункт призначення також повинен бути освітлений зіркою.

prb11284.gif

Робот не може впасти в космічну порожнечу або в неосвітлене місце.

prb11284_1.gif

Робот не може впасти в космічну порожнечу.

prb11284_2.gif

Мета полягає в тому, щоб дістатися до телепорту, якщо це можливо, використовуючи найменшу кількість ходів. Щоб телепорт працював, робот повинен бути міцно прикріплений до корабля. Іншими словами, робот повинен опинитися біля телепорту в кінці дозволеного ходу, і спуститися через нього не вийде. Телепорт не блокує ні зірку, ні рух робота.

Вхідні дані

Перша строка містить три цілі числа , , ( ≤ , , ≤ ).

Космічний корабель і простір навколо нього описуються блоками.

-й блок описує блок, розташований на -й висоті. Кожен блок складається з рядків.

-й рядок -го блоку складається з символів. -й символ називається a_{ijk}.

  • Якщо a_{ijk} дорівнює "*", то це повний блок.

  • Якщо a_{ijk} дорівнює "-", то це порожній блок.

  • Якщо a_{ijk} дорівнює "R", то цей блок містить робота. Гарантується, що такий блок тільки один.

Гарантується, що робот знаходиться біля повного блоку.

  • Якщо a_{ijk} дорівнює "T", то цей блок містить телепорт. Гарантується, що такий блок тільки один.

Вихідні дані

Виведіть мінімальну кількість ходів, необхідну для досягнення телепорту, або , якщо телепорт недоступний.

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading

Приклад 3

Loading
Loading

Приклад 4

Loading
Loading