Montagem recursiva de palíndromo a partir de substrings
Rust
Hard
functions
Tarefa «Montagem recursiva de palíndromo a partir de substrings»
Dada uma string S, composta por letras latinas minúsculas. É necessário dividir recursivamente (usando uma função) a string original no menor número possível de substrings palíndromas (cada substring deve ser um palíndromo) e exibi-las separadas por espaço. Se a divisão for impossível (por exemplo, a string estiver vazia), exibir "NO". Restrições: comprimento de S de 1 a 1000 caracteres. É garantido que a resposta existe.
Formato de Entrada
Uma única string S (1 ≤ |S| ≤ 1000).
Formato de Saída
Uma string contendo as substrings palíndromas, separadas por espaço. Se a string de entrada estiver vazia, exibir "NO".
Exemplos
Exemplo 1
ENTRADA
racecar
SAÍDA
racecar
Exemplo 2
ENTRADA
aab
SAÍDA
aa b
main.rs