| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 3 초 | 1024 MB | 1 | 0 | 0 | 0.000% |
Компания Konia, специализирующаяся на выпуске бюджетных мобильных устройств, в последнее время теряет свои позиции на рынке. Ради спасения компании совет директоров пошёл на отчаянный шаг: было решено внести изменения в самую известную игру, которая доступна на всех устройствах от Konia — «Змейку». Да, снова.
Игра происходит на клетчатом поле, состоящем из H строк и W столбцов. Будем нумеровать строки сверху вниз от 1 до H, а столбцы слева направо от 1 до W. Таким образом, каждая клетка A поля однозначно задаётся парой чисел (Ar, Ac), где Ar — номер строки, а Ac — номер столбца. Две клетки A и B называются соседними, если они соседние по стороне, то есть |Ar − Br| + |Ac − Bc| = 1. Помимо этого, соседними являются клетки верхней и нижней строки, а также крайнего левого и крайнего правого столбца, то есть все пары клеток вида (1, i)–(H, i), где i пробегает от 1 до W, и все пары вида (i, 1)–(i, W), где i пробегает от 1 до H.
На поле находится змейка, представляющая собой последовательность клеток A1, A2, . . . , AL, где L — целое положительное число, означающее её длину. Каждая клетка должна встречаться в данной последовательности не более одного раза, при этом любые две клетки, соседние в последовательности, должны являться соседними клетками поля. Несложно заметить, что максимально допустимая длина змейки равняется H · W. Клетка A1 называется головой змейки.
Игрок управляет только перемещением головы змейки. Для этого он может использовать четыре команды:
Как только игрок использует команду, все клетки, образующие змейку, перемещаются одновременно, при этом голова сдвигается по описанным выше правилам, а все остальные клетки «подтягиваются» за ней, то есть для всех i от 2 до L клетка Ai заменяется на бывшее значение клетки Ai−1. Например, вторая клетка змейки (если она существует, то есть L ⩾ 2) перемещается туда, где находилась голова, третья клетка (если L ⩾ 3) перемещается туда, где находилась вторая, и так далее.
Игра заканчивается, как только змейка врежется сама в себя, то есть на очередном шаге перестанет выполнятся условие уникальности всех клеток. Это может произойти из-за того, что голова переместится в клетку, занимаемую какой-то другой частью змейки. В частности, если змейка состоит хотя бы из трёх клеток, то команда перемещения головы в сторону клетки A2 приведёт к столкновению, так как в новом положении змейки совпадут клетки A1 и A3.
Также в классическом варианте игры присутствует возможность кушать яблоки и увеличивать длину своей змейки, но в рамках данной задачи эта особенность игры не рассматривается.
В новой модификации данной игры от компании Konia игроку больше не требуется регулярно нажимать на кнопки, он должен лишь изначально разместить свою змейку на игровом поле и написать программу действий длины K, то есть задать последовательность из K команд перемещения головы змейки. После запуска змейка будет последовательно выполнять команды, пока не врежется сама в себя. Если змейка успешно выполнит все K команд, то она начинает выполнять их заново в той же последовательности, и так до тех пор, пока не произойдет столкновение или игроку не надоест следить за процессом.
Вам, как ведущему инженеру компании Konia по программированию змеек, поручено решить следующую задачу: для данных различных простых чисел H и W, определяющих размеры поля, а также данной программы игры, определить, змейку какой максимальной длины можно разместить на игровом поле так, что она никогда не врежется сама в себя после запуска игры. Руководство так и не смогло объяснить вам, почему H и W являются простыми числами, но напомнило, что число является простым, если у него ровно два различных целых положительных делителя.
В первой строке ввода содержится три целых числа H, W и K — размеры поля и длина программы (2 ⩽ H, W ⩽ 109 + 9, H ≠ W, 1 ⩽ K ⩽ min{100 000, H · W}).
Обратите внимание: гарантируется, что H и W — различные простые числа.
Во второй строке подряд записаны K символов, задающих последовательность команд. Никакие символы, кроме ‘L’, ‘R’, ‘U’ и ‘D’, в данной строке не встречаются.
Выведите одно число — максимальную длину змейки, которая сможет неограниченно долго перемещаться в соответствии с данной последовательностью команд, ни разу не врезавшись в саму себя.
5 7 4 LURD
4
11 2 2 RD
21
5 13 4 ULUD
2
В первом тесте после выполнения всех четырёх команд голова змейки оказывается в своём стартовом положении, поэтому змейка длиннее четырёх клеток не проживёт больше четырёх ходов.
Во втором тесте правильно расположенная змейка может занять почти всё поле.