printРабочее место участника

printЗадачи

1148. Zuma

Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Zuma – это популярная компьютерная игра. Лягушку в центре экрана можно поворачивать с помощью мыши, а нажимая кнопку – стрелять шариками, которые вставляются в цепочку из катящихся разноцветных шаров. Если в цепочке в результате образуется группа из 3 или больше шариков, они аннигилируют. Рассмотрим упрощенную версию этой игры. Пусть есть цепочка из разноцветных шариков. Вы можете добавить в цепочку новый шарик некоторого цвета рядом с шариком того же цвета. Если при этом образуется группа, включающая новый шарик и содержащая 3 или более стоящих рядом шариков одного цвета, они аннигилируют, и вам добавляются очки, равные квадрату длины группы. После аннигиляции цепочка смыкается, и, если при этом слева и справа были шарики одного цвета, и при их соприкосновении образовалась новая группа из 3 или более одноцветных шариков, они опять аннигилируют и приносят вам очки. И так далее. В начальной цепочке могут быть группы из 3 или более одноцветных шариков, но они будут аннигилировать только при добавлении нового шарика в группу или соприкосновении с группой шариков того же цвета после аннигиляции.
Напишите программу, вычисляющую максимальное количество очков, которое вы можете получить после полного уничтожения начальной цепочки.
В первой строке входного файла содержится начальная цепочка, состоящая из букв от A до Z. Длина цепочки от 1 до 100 букв, соответствующим шарикам. Разные буквы обозначают разные цвета.
В выходной файл вывести строку, содержащую одно целое число – максимальное количество очков, которое можно получить после полного уничтожения начальной цепочки.

Пример ввода 1

AAABAAA

Пример вывода 1

45

Пример ввода 2

ABBBBBA

Пример вывода 2

54
loading