Copiado al portapapeles
Descripción
Un palíndromo es una palabra o frase cuyas letras están dispuestas de tal manera que puede leerse igual en ambos sentidos, es decir, que suena del mismo modo leída de izquierda a derecha y de derecha a izquierda. Ejemplo: tacocat, rayar, reconocer, tnt, etc.
Dada una cadena $s$, debemos particionar la cadena $s$ tal que cada subcadena de la partición es un palíndromo, estas se llamaran “Particiones Palíndromo”(Que nombre tan original no? :D).
Como debe haber muchas maneras de generar le vamos a poner algo de dificultad, así que vamos a devolver TODAS las posibles “Particiones Palíndromo” de la cadena $s$.
Entrada
La entrada solo va a consistir de una cadena $s$ $(1\leq |s| \leq 16)$, la cadena de la que queremos saber todas sus Particiones Palíndromo, la cadena $s$ solo consistirá en caracteres del abecedario en minúscula.
Salida
En la primera línea mostrar cuantas particiones palíndromo se obtuvieron de $s$, y en las siguientes líneas mostrar todas las particiones palíndromo de $s$ en orden lexicográfico ascendentemente.(Fijarse el formato abajo)
Ejemplo Salida
12 [a, b, a, c, c, d, e, f, e, f] [a, b, a, c, c, d, e, fef] [a, b, a, c, c, d, efe, f] [a, b, a, cc, d, e, f, e, f] [a, b, a, cc, d, e, fef] [a, b, a, cc, d, efe, f] [aba, c, c, d, e, f, e, f] [aba, c, c, d, e, fef] [aba, c, c, d, efe, f] [aba, cc, d, e, f, e, f] [aba, cc, d, e, fef] [aba, cc, d, efe, f]
Ayuda
Ejemplo entrada #2
aaaa
Ejemplo salida #2
8
[a, a, a, a]
[a, a, aa]
[a, aa, a]
[a, aaa]
[aa, a, a]
[aa, aa]
[aaa, a]
[aaaa]
Ejemplo entrada #3
tacocat
Ejemplo salida #3
4
[t, a, c, o, c, a, t]
[t, a, coc, a, t]
[t, acoca, t]
[tacocat]