Ensamblaje recursivo de un palíndromo a partir de subcadenas
Rust
Hard
functions
Tarea «Ensamblaje recursivo de un palíndromo a partir de subcadenas»
Dada una cadena S que consiste en letras latinas minúsculas. Es necesario dividir recursivamente (usando una función) la cadena original en el número mínimo de subcadenas palindrómicas (cada subcadena debe ser un palíndromo) y mostrarlas separadas por espacios. Si la división es imposible (por ejemplo, la cadena está vacía), mostrar "NO". Restricciones: longitud de S de 1 a 1000 caracteres. Se garantiza que la respuesta existe.
Formato de entrada
Una sola cadena S (1 ≤ |S| ≤ 1000).
Formato de salida
Una cadena que contiene las subcadenas palindrómicas separadas por espacios. Si la cadena de entrada está vacía, mostrar "NO".
Ejemplos
Ejemplo 1
ENTRADA
racecar
SALIDA
racecar
Ejemplo 2
ENTRADA
aab
SALIDA
aa b
main.rs