Bipalíndromos

Un palíndromo es una palabra que se escribe igual del derecho que del revés, como por ejemplo Y, EE, ALA, ANNA, ROTOR o AAAAAA. En este problema te pedimos que, dada una palabra, calcules cuántos palíndromos distintos contiene. Por ejemplo, ROTORO contiene 6 palíndromos de longitud 1, 2 palíndromos de longitud 3, y 1 palíndromo de longitud 5, por lo que la respuesta final debería ser 9.

Y por si este problema fuera “muy fácil” para ti, te daremos más puntos si, además de contar el número de palíndromos de la palabra, eres capaz de contar el número de bipalíndromos (pares de palíndromos en la palabra, el primero de ellos apareciendo antes que el segundo, y sin que ocupen las mismas letras). Por ejemplo, ROTORO tiene exactamente 22: (R)(O)TORO, (R)O(T)ORO, (R)OTO(R)O, (R)OT(ORO), R(OTO)(R)O, etc.

Entrada

Una línea con una palabra de no más de 5000 letras mayúsculas. Opcionalmente, una segunda línea con el texto BIPALINDROMES.

Salida

Escribe una línea con el número de palíndromos que contiene la palabra dada. Si la entrada contiene una segunda línea con el texto BIPALINDROMES, escribe una segunda línea de salida con el número de bipalíndromos en la palabra dada.

Puntuación

Información del problema

Autoría: Omer Giménez

Generación: 2026-01-25T10:02:39.083Z

© Jutge.org, 2006–2026.
https://jutge.org