eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Падающие блоки

Падающие блоки

prb8186.gif

Падающие блоки - это тетрис-аркадная игра, в которую играют на доске с 3 столбцами и 10 строками в соответствии со следующими правилами. Известная, бесконечно повторяющаяся последовательность пентамино (фигур) падает с вершины доски, по одному за раз. 8 фигур и их метки показаны выше.

Фигуры можно свободно вращать (на 0, 90, 180 или 270 градусов), но не переворачивать.

Правила аналогичны правилам тетриса. Вновь представленная фигура падает с верхней части доски как можно дальше, пока не достигнет нижней части доски или существующего блока на доске. Затем все строки, которые полностью заполнены, удаляются, а строки выше перемещаются вниз без дальнейшего изменения самих строк.

Чтобы проиллюстрировать это, рассмотрим пустую доску, на которую падает фигура R, а затем фигура Z. Если мы бросим фигуру R без вращения, мы получим первую доску, показанную выше. Отбрасывание вращающегося куска Z поверх него приводит к заполнению двух строк. Эти строки удаляются, а строки сверху выталкиваются вниз. Окончательная ситуация показана на самой правой картинке. Конечная позиция имеет "висячий блок", этот блок больше не падает в этой точке.

В отличие от тетриса, верхние три ряда доски должны быть полностью пустыми, чтобы разместить фигуру, то есть, если ни один из верхних трех рядов не пуст после удаления всех заполненных рядов, игра окончена.

Счет основан исключительно на количестве фигур, сыгранных на доске до окончания игры. По заданной последовательности фигур, повторяющейся бесконечно, определите максимальное количество фигур, которое можно сыграть.

Ниже приведены примеры последовательностей фигур с последующим объяснением.

  • X: Каждое падение фигуры X оставляет две строки заполненными, которые не могут быть удалены дополнительными частями X. После размещения четырех фигур у нас остается восемь непустых строк, поэтому следующий элемент X не может быть размещен. Таким образом, результат 4.

  • XXXXR: Фигуру R можно вращать, чтобы не перекрыть квадрат слева в верхнем непустом ряду, но наше правило состоит в том, что верхние три ряда должны быть полностью пустыми, для размещения любой фигуры. Таким образом, результат 4.

  • VZV: Две фигуры V и одна фигура Z могут быть так расположены на доске что игру можно продолжать бесконечно.

Входные данные

Состоит из одной строки, представляющую последовательность пентомино. Входная последовательность содержит от 1 до 20 символов.

Выходные данные

Выведите максимальное количество фигур, которое можно сыграть. Если игра может продолжаться бесконечно, выведите forever.

Ліміт часу 3 секунди
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
T
Вихідні дані #1
forever
Вхідні дані #2
W
Вихідні дані #2
8
Вхідні дані #3
VZ
Вихідні дані #3
25
Джерело 2015 ACM North America - Pacific Northwest, Дивизион 1, Задача F