Технокубок 2016 - Отборочный Раунд 1
C
Путь Робота
Codeforces
1100
原题
← BD →
翻译中…

Вам задано прямоугольное клетчатое поле, состоящее из $*n*$ строк и $*m*$ столбцов. Поле содержит цикл из символов «*», такой что:

翻译中…
  • цикл можно обойти, посетив каждую его клетку ровно один раз, перемещаясь каждый раз вверх/вниз/вправо/влево на одну клетку;
  • цикл не содержит самопересечений и самокасаний, то есть две клетки цикла соседствуют по стороне тогда и только тогда, когда они соседние при перемещении вдоль цикла (самокасание по углу тоже запрещено).
翻译中…

Ниже изображены несколько примеров допустимых циклов:

翻译中…

image

翻译中…

Все клетки поля, отличные от цикла, содержат символ «.». Цикл на поле ровно один. Посещать клетки, отличные от цикла, Роботу нельзя.

翻译中…

В одной из клеток цикла находится Робот. Эта клетка помечена символом «S». Найдите последовательность команд для Робота, чтобы обойти цикл. Каждая из четырёх возможных команд кодируется буквой и обозначает перемещение Робота на одну клетку:

翻译中…
  • «U» — сдвинуться на клетку вверх,
  • «R» — сдвинуться на клетку вправо,
  • «D» — сдвинуться на клетку вниз,
  • «L» — сдвинуться на клетку влево.
翻译中…

Робот должен обойти цикл, побывав в каждой его клетке ровно один раз (кроме стартовой точки — в ней он начинает и заканчивает свой путь).

翻译中…

Найдите искомую последовательность команд, допускается любое направление обхода цикла.

翻译中…

Input

翻译中…

В первой строке входных данных записаны два целых числа $*n*$ и $*m*$ ($3 ≤ *n*, *m* ≤ 100$) — количество строк и столбцов прямоугольного клетчатого поля соответственно.

翻译中…

В следующих $*n*$ строках записаны по $*m*$ символов, каждый из которых — «.», «*» или «S». Гарантируется, что отличные от «.» символы образуют цикл без самопересечений и самокасаний. Также гарантируется, что на поле ровно одна клетка содержит «S» и что она принадлежит циклу. Робот не может посещать клетки, помеченные символом «.».

翻译中…

Output

翻译中…

В первую строку выходных данных выведите искомую последовательность команд для Робота. Направление обхода цикла Роботом может быть любым.

翻译中…

Note

翻译中…

В первом тестовом примере для обхода по часовой стрелке последовательность посещенных роботом клеток выглядит следующим образом:

翻译中…
  1. клетка $(3, 2)$;
  2. клетка $(3, 1)$;
  3. клетка $(2, 1)$;
  4. клетка $(1, 1)$;
  5. клетка $(1, 2)$;
  6. клетка $(1, 3)$;
  7. клетка $(2, 3)$;
  8. клетка $(3, 3)$;
  9. клетка $(3, 2)$.
翻译中…

样例

Input #1
3 3
***
*.*
*S*
Output #1
LUURRDDL
Входные данныеCopy Выходные данныеCopy
Input #2
6 7
.***...
.*.*...
.*.S**.
.*...**
.*....*
.******
Output #2
UULLDDDDDRRRRRUULULL
Входные данныеCopy Выходные данныеCopy
标签
构造
DFS 及类似
图论

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。